8

Использование BIDS 2005 для создания отчетов rdl. Я хочу, чтобы в отчете был собран все строки в группе данных. Я искал что-то по линии Concatenate (Fields! CompanyName.Value, ",") или Join или эквивалент. Но он должен будет перебирать все записи в заданной области.Агрегация строк в SSRS 2005

Я создаю отчет о действиях пользователя в формате календаря (похожий на календарь просмотра месяца Google). Но если у пользователя есть несколько действий за один день, я хочу, чтобы все они отображались в один и тот же «день» коробка. Является ли это проблемой, требующей агрегации, или есть какой-то другой способ получить отчет SSRS для этого, я попытался понять, как заставить матрицу сделать это для меня, но я ударяю по стенам.

+0

Благодарим вас за исправление тегов Джоэл, я обязательно буду использовать их в следующий раз. – David

ответ

8

Обычный способ выполнения агрегатной конкатенации в 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», если это первая таблица и первая группа, которую вы создали в отчете, и если вы не указали другое имя.

+1

Это работало до сих пор, спасибо! Это подход, о котором я читал, но я также читал, что использование общих переменных (CurrGroupBy и ConcatVal) было плохими идеями, говорящими, что они разделяются между всеми экземплярами отчета. Неплохое действие на веб-сервере. Вы знаете, верно ли это? – David

+0

Это может быть правдой, я не знаю. Если вы узнаете, пожалуйста, напишите что-нибудь здесь, и я отвечу вам ответ. –

+0

Это отличная помощь. Ни один из примеров в документах не показывает вызов пользовательской функции для RunningValue. –

Смежные вопросы