Есть ли подходящий подход для отображения динамических столбцов и таблиц в отчете SSRS?

У меня есть требование, согласно которому я должен отображать динамические столбцы и таблицы в SSRS. Мне нужно создать общий отчет RDL, который может иметь 1, 2 или 3 таблицы, и каждая таблица может иметь любое количество столбцов и настраивается в зависимости от типа отчета. Эти основные данные будут храниться в базе данных, как показано ниже:

Отчет 1:

  • Таблица 1 — Столбец1_1, Столбец1_2, Столбец1_3
  • Таблица 2 — Столбец2_1, Столбец2_2
  • Таблица 3 - Столбец 3_1, Столбец 3_2

Отчет 2:

  • Таблица 1 — Столбец1_1, Столбец1_2
  • Таблица 3 — Столбец 3_1, Столбец 3_2, Столбец 3_3

Отчет 3:

  • Таблица 2 — Столбец2_1, Столбец2_2
  • Таблица 3. Столбец 3_1

Есть ли эффективный способ добиться этого?

Все это нужно настроить в едином RDL и никаких отдельных RDL для отдельных отчетов там быть не должно.


person Nishant    schedule 17.05.2021    source источник


Ответы (1)


SSRS очень гибок с точки зрения того, что вы можете делать с динамическими выражениями. В общем, вот пара атрибутов, которыми вы можете управлять динамически:

  • Видимость таблицы
  • Видимость столбца
  • Видимость группы столбцов
  • По какому полю группируется группа

Используя комбинации этих функций, вы можете разработать отчет, который динамически группирует и отображает данные. В вашем конкретном примере вам может потребоваться иметь все 7 таблиц, каждая с предопределенным правильным количеством групп столбцов. Затем установите динамическую видимость таблицы и группировку столбцов в зависимости от выбора.

Чтобы еще больше обобщить это, вам может быть интересно создать таблицу с 3 группами столбцов, которые являются полностью динамическими. Это также возможно путем переключения видимости неиспользуемых групп столбцов. Надеюсь, вы сможете использовать эти принципы в качестве строительных блоков для достижения решения, которое работает для вас.

person StevenWhite    schedule 17.05.2021
comment
Вы имеете в виду создать rdl с заранее определенным количеством таблиц и на основе результата с сервера sql загрузить необходимые таблицы и скрыть ненужные таблицы и поля? - person Mukesh Sakre; 19.05.2021
comment
@MukeshSakre Точно. - person StevenWhite; 19.05.2021