ССРС консолидации подряд


Я запускаю SSRS для сервера 2008 R2 и создаю отчеты в Построителе отчетов 3.0

У меня есть отчет под названием "недостающие недели", который показывает мне недели из года, когда мы пропускаем финансовые отчеты наших компаний. Прямо сейчас отчет показывает все недостающие недели в отдельных строках отчета, например:
Group  Cmp_code  town      Owner    Year  Week
001    004       townname  mr ozzy  2012  50
                                          52
                                    2013  25
                                          26
       005       townname  mr bark  2013  32
                                          33
002    235       townname  mr woof  2013  17
ETC..

Возможно ли, чтобы все недели отображались в одной строке для этой группы и cmp_code?

Group  Cmp_code  town      Owner    Year  Week
001    004       townname  mr ozzy  2012  50, 52
                                    2013  25, 26, etc...
       005       townname  mr bark  2013  32, 33, etc...
002    235       townname  mr woof  2013  17

В идеале я хотел бы сделать это в SSRS и не изменять то, что я сделал на sql server.

2 2

2 ответа:

Вы можете использовать функцию LookupSet, чтобы помочь в этом.

Вот мой тестовый набор данных:

Введите описание изображения здесь

Я добавил вычисляемое поле под названием CmpYear В набор данных с выражением:

=Fields!Cmp_code.Value & CStr(Fields!Year.Value)

Мы будем использовать это позже.

Теперь составьте таблицу отчета:

Введите описание изображения здесь

Вы можете видеть, что существуют группы строк, основанные на Group, Cmp_code и Year. Я предположил, что town и Owner основаны на Cmp_code.

Самая важная часть-это выражение для Week:

=Join(LookupSet(Fields!CmpYear.Value, Fields!CmpYear.Value, Fields!Week.Value, "DataSet1")
  , ",")
Поскольку нас интересуют все недели для конкретной комбинации компания / год, мы используем вычисляемое на их основе поле в качестве ключа поиска-с помощью этого LookupSet возвращает массив всех недель в конкретной группе компания / год, затем мы используем Join, чтобы превратить массив в разделенный список:

Введите описание изображения здесь

Выглядит довольно хорошо для меня. Конечно, вы можете немного изменить свои базовые данные, но, надеюсь, это даст вам некоторые полезная идея.

Создайте группу столбцов на неделе.

Введите описание изображения здесь