SSRS Динамические имена столбцов - PullRequest
2 голосов
/ 16 марта 2012

У меня есть хранимая процедура (которая сводит и отменяет значения), которая работает как серверная часть отчета SSRS. Пользователь предоставляет 2 входа (BeginRange и EndRange).

Результаты меняются в зависимости от ввода пользователя, поэтому мне необходимо отразить эти изменения и в отчете. Проблема заключается в том, что, как только я завершу подготовку отчета, как только я предоставлю новый ввод, отчет не будет выполнен, поскольку он все еще связан со старыми заголовками столбцов. Есть ли возможность динамически изменять заголовки столбцов и значения TextBox?

Пример данных результата выглядит примерно так:

resultSet

Заголовки столбцов будут меняться от недели к неделе. Как мне получить этот постоянно меняющийся отчет в моем отчете SSRS?

1 Ответ

4 голосов
/ 16 марта 2012

Проблема не совсем в том, что вы думаете:

Да, вы можете динамически изменять заголовки столбцов и значения текстовых полей. Но это тебе не поможет.

Поля (столбцы), возвращаемые источником данных, не могут быть динамическими для набора данных SQL.

Вам необходимо установить фиксированный набор полей, которые будет возвращать ваш запрос, а затем вы можете поворачивать их или динамически выбирать из набора столбцов при отображении отчета. Например, если я хотел, чтобы отчет отображался:

                June   July  Aug   Sept  Oct   Nov   Dec
Department A     20     25    33    36    48    29    35
Department B     22     24    30    23    40    20    33

Тогда я бы разработал свой запрос для возврата:

Department     Month    Quantity
Department A    June    20
Department A    July    25
Department A    Aug     33
Department A    Sept    36
Department A    Oct     48
Department A    Nov     29
Department A    Dec     35
Department B    June    22
...

Предоставленные вами результаты запроса будет трудно использовать с SSRS: можете ли вы изменить запрос или создать другой, чтобы он возвращал фиксированные столбцы, аналогично тому, что я указал выше? По крайней мере, вам нужно изменить имена полей (заголовки столбцов), чтобы они не менялись от месяца к месяцу: month1 month2 month3 ...

...