Как отметил @Martin, создание исключений заставляет программиста обрабатывать ошибку. Например, не проверка кодов возврата является одним из самых больших источников дыр в безопасности в программах на Си. Исключения гарантируют, что вы обработаете ошибку (надеюсь) и предоставите какой-нибудь путь восстановления для вашей программы. И если вы решите игнорировать исключение, а не вводить дыру в безопасности, ваша программа вылетает.
Обычно агрегатное объединение в SSRS выполняется с помощью специального кода. См. Пример здесь:
http://blogs.msdn.com/suryaj/archive/2007/08/11/string-aggregation.aspx
Вот пользовательский код в базовой форме:
Private CurrGroupBy As String = String.Empty
Private ConcatVal As String = String.Empty
Public Function AggConcat(GroupBy as String, ElementVal as String) as String
If CurrGroupBy = GroupBy Then
ConcatVal = ConcatVal & ", " & ElementVal
Else
CurrGroupBy = GroupBy
ConcatVal = ElementVal
End If
Return ConcatVal
End Function
Далее следует это выражение на уровне группировки, которое вы хотите отобразить:
=RunningValue(
Code.AggConcat(
Fields!YourFieldToGroupBy.Value
, Fields!YourFieldToConcat.Value
)
, Last
, "YourGroupName"
)
«YourGroupName» обычно равно «table1_Group1», если это первая таблица и первая группа, которую вы создали в отчете, и если вы не указали другое имя .