Динамическое скрытие столбца Freight

d25fe6e0-fb80-4b52-9439-50d01a52f48bReportsDifferentLevelsOfAggregation01

Возможность выборочно показывать или скрывать различные столбцы — первый шаг к тому, чтобы возложить на один отчет функции многих отчетов. Чтобы показать, как это делается, динамически скроем столбец Freight. Выполните следующие действия в конструкторе отчетов.
1. Щелкните ячейку таблицы, чтобы показать маркеры выделения столбца и строки.
2. Щелкните правой кнопкой мыши серый заголовок для столбца Freight и выберите пункт Column Visibility.
3. В диалоговом окне Column Visibility выберите переключатель с меткой Show or hide based on an expression («Показать или скрыть в зависимости от выражения»).
4. Откройте диалоговое окно Expression Builder («Построитель выражений») и введите выражение
(Fields! Freight.IsMissing).
5. Нажмите кнопки OK, чтобы сохранить и закрыть диалоговые окна Expression Builder и Column Visibility («Видимость столбца»).
Изменение набора данных для использования сформированного кода
Необходимо выполнить небольшую реорганизацию, изменив способ подготовки запроса. Выполните следующие действия.
1. На панели Report Data дважды щелкните ReportDatadataset.
2. В диалоговом окне Dataset Properties («Свойства набора данных») нажмите кнопку Expression («Выражение») (fx) рядом с полем Query («Запрос»).
3. В диалоговом окне Expression Builder замените текст команды ссылкой на параметр SalesQuery:
=Parameters! SalesQuery.Value
4. Нажмите кнопку OK, чтобы сохранить и закрыть диалоговые окна Expression Builder и Dataset Properties.
5. Убедитесь, что параметр Sales Query имеет значение Hidden.
6. Измените свойство Hidden, чтобы скрыть текстовое поле, в котором показано значение параметра SalesQuery.
7. Просмотрите отчет и поэкспериментируйте с различными значениями параметра.
Отладка запроса
Такое решение, как правило, требуется отладить. Полезно составить короткий список пунктов отладки и выполнять их каждый раз, когда необходимо изменить проект или программный код. Если вас не устраивают полученные результаты, следует сначала нажать кнопку Refresh («Обновить») на инструментальной панели отчетов, чтобы очистить кэш выполнения и перезапустить запрос. SSRS устроен так, что прошлые результаты сохраняются в кэше. Если правильных результатов получить все же не удается или параметры работают некорректно, то, скорее всего, набор данных не использует сформированный код. Для отладки отмените скрытие параметра SalesQuery и покажите текстовое поле. Выполняя отчет, проверьте значения, чтобы убедиться в правильности синтаксиса запроса. Если он неверный, значит, ошибка в программном коде. Если параметр правильно сформировал синтаксис запроса в текстовом поле, но не изменил вывод отчета, то остается только проверить выражение, использованное для сопоставления набора данных параметру.