Динамически генерируемые отчеты SSRS
Можно ли динамически создавать таблицы SSRS? У меня довольно сложное требование.
Я создал таблицы, в которых я заполняю "метаданные" для отчетов, а именно:
- имена столбцов
- имена строк
- уровни строк / столбцов (родитель / потомок)
- цвета шрифта
- размеры шрифта
- действителен с / действителен для атрибутов
- переводы
Затем я генерирую запросы на основе этих метаданных и объединяю их в таблицы фактов. Таким образом, каждый запрос возвращает данные, как и должно быть.
Я генерирую данные по уровням, чтобы вы всегда знали, на каком уровне вы находитесь в данный момент. Таким образом, вы получаете данные в следующей форме (я могу изменить их, если это облегчит создание отчетов):
Row Text | Level 1 Text | Level 2 Text | Level 3 Text | Level 4 Text | Level 5 Text | Value
По сути, SSRS не нужно ничего суммировать, он просто показывает данные. Но здесь я попадаю в беду. Я не знаю, как добиться нормального отчета. Я сделал 5 групп столбцов (5 - наибольшее количество уровней в любом отчете), и каждый из них является дочерним по отношению к предыдущему. Группы строк скрываются в зависимости от максимального уровня текущего запроса, поэтому, если запрос содержит данные только на уровне 1, отображается только 1 строка.
Но здесь начинается сложная часть. У меня есть отчет, в котором есть такие данные:
Если некоторые данные находятся на уровне 5, а некоторые - на уровне 1 (другие повсюду между ними), данные на уровне 1 имеют 4 пустых строки...
Итак, мой отчет показывает много пустых ячеек. Либо так, либо я показываю один и тот же текст для всех 5 уровней. Есть ли умный способ решить эту проблему? Я даже могу изменить всю концепцию, так как я все еще на ранней стадии разработки.
РЕДАКТИРОВАТЬ:
Вот один из точных отчетов, который должен генерироваться динамически (это общедоступный шаблон): шаблон ssrs