Службы Reporting Services - скрывать столбец таблицы на основе параметра отчета

У меня есть отчет в Reporting Services 2005, и я хочу скрыть или показать один столбец таблицы на основе параметра отчета. Кто-нибудь знает, как это сделать?

Спасибо!

Ответ 1

Установите для видимости для столбца выражение, которое вернет true или false. Это свойство можно найти на вкладке "Видимость" в текстовом поле, например.

Выберите параметр радио для выражения, а затем выражение будет выглядеть как

=Parameters!ShowColumn.Value

Ответ 2

Используйте свойство видимости столбца. Это сработало для меня.

=iif(Parameters!ParameterName.Value = "TextValueOfTheParameter",False,True)

Ответ 3

Совет. Если выражение возвращает "False", то столбец или строка будут видны. Если выражение возвращает "True", выражение будет скрыто. Сначала это обмануло меня.

Ответ 4

Для некоторых моих отчетов я установил видимость (в частности свойство Скрытое) для столбца :

=IsNothing(Fields!Site.Value)

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

Ответ 5

Допустим, мой отчет (SSRS 2005) содержит 5 столбцов. И я хочу показать/скрыть столбцы на основе параметра (multi select со всеми 5 именами столбцов), выбранного пользователем. выполните следующие действия

1) Создайте параметр строки типа (ColumnVisibility - это имя моего параметра) с нужными именами столбцов в ярлыках для 5 столбцов и INT (01,02,03,04,05) соответственно в значениях в разделе "Доступные значения" мастера параметров.

2) Затем перейдите в раздел "Свойства по конструкции". Перейдите к "видимости" и вставьте следующий

=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"01")>0,false,true) 

3) повторите то же самое для всех столбцов, увеличив значение int на 1. Следуйте примеру

Вторая колонка

=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**02**")>0,false,true)

Третий столбец

=iif(instr(Join(Parameters!ColumnVisibility.Value,","),"**03**")>0,false,true)

И так далее. Для SSRS 2008, когда вы щелкаете правой кнопкой мыши по столбцу, вы можете увидеть опцию "Column Visibility". вставьте код в разделе "показать или скрыть на основе выражения" для каждого столбца.

Ответ 6

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

=IIF(IsNothing (Sum(Fields!columnA.Value, "ReportA")),False,True)

Ответ 7

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

Ответ 8

Чтобы удалить нулевой столбец,

Щелкните правой кнопкой мыши, чтобы выбрать "Видимость столбца", затем "Установить выражение для скрытых":

IIF(IsNothing(Fields!FieldName.Value),True,False)