Перебирать столбцы отчета, чтобы динамически отображать/скрывать их?

Я хочу попробовать реализовать параметр, который позволит пользователям динамически выбирать, какие столбцы будут отображаться в отчете. Идея состоит в том, чтобы создать параметр с несколькими значениями, который имеет имена столбцов. После того, как пользователь нажал «Просмотреть отчет», я хочу попробовать перебрать столбцы и выбранные значения, чтобы присоединиться к видимости.

Как я могу перебирать столбцы внутри табликса?

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

Я использую службы отчетов MS SQL 2012.


person adopilot    schedule 04.05.2013    source источник


Ответы (1)


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

Настройте многозначный параметр, в котором перечислены столбцы, которые можно отображать/скрывать.

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

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

Выражение будет примерно таким:

=IIf(InStr(Join(Parameters!IncludedColumn.Value, ","), "Col1") > 0, false, true)

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

Таким образом, при запуске отчета этот подход может скрывать/отображать столбцы на основе выбора параметра.

Выбраны все столбцы:

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

Выбраны некоторые столбцы:

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

person Ian Preston    schedule 04.05.2013