Использование параметров для управления данными отчета
Добавления: 17 июля 2006 г.
Параметры можно использовать для управления тем, какие данные получать из источника данных при обработке отчета; можно также использовать параметры для фильтрации данных после их получения. Рекомендуется ограничивать получаемые из источника данные только теми, которые надо использовать в отчете. Однако при использовании хранимых процедур для получения данных нельзя управлять тем, что получается из запроса, поэтому приходится фильтровать данные после их получения.
Фильтрация данных в источнике данных
Параметры запроса используются, чтобы помочь точно указать, какие данные надо получить из источника. Они позволяют фильтровать данные на сервере до их отправки в отчет.
При определении набора данных с помощью запроса с переменными конструктор запросов служб Reporting Services создает для каждой переменной параметр запроса. Для каждого параметра запроса создается параметр отчета, так что пользователи или авторы отчета могут выбрать значения для параметров отчета и передать их в запросе в источник данных.
Параметры запроса
Параметры запроса определяются как часть определения запроса для набора данных. Поскольку каждый набор данных отчета определяет один запрос, параметры запроса определяются как свойства набора данных.
При определении набора данных указывается конкретный тип источника данных, например Microsoft SQL Server. Конструктор отчетов открывает конструктор запросов, спроектированный для работы с этим источником данных, или общий конструктор запросов, который может работать с любым типом источников данных. При определении запроса для этого источника данных конструктор запросов идентифицирует переменные внутри текста команд запроса и для каждой создает параметр запроса. Дополнительные сведения о синтаксисе запросов, ожидаемом источником данных, см. в разделе Использование параметров запросов с конкретными источниками данных.
Для источника данных SQL Server запросы обычно содержат переменные в предложении WHERE инструкции языка Transact-SQL для ограничения диапазона данных, возвращаемых при выполнении запроса. Аналогичным образом запросы к источнику данных служб Analysis Services обычно включают переменные многомерных выражений, содержащиеся в предложении FILTER. Запросы могут также включать переменные, переданные как входные параметры хранимой процедуры или пользовательской функции.
Каждый раз, когда изменяется запрос для набора данных, этот запрос заново обрабатывается. Если изменить запрос, удалив или переименовав переменную, параметры запроса отразят эти изменения. Только те переменные, которые существуют в тексте команды запроса, станут параметрами запроса в определении запроса набора данных.
Значение по умолчанию для каждого параметра запроса устанавливается в выражение, вычисление которого формирует соответствующий параметр отчета. Эта привязка параметров определяется на вкладке Параметры в свойствах набора данных. Например, пусть для источника данных SQL Server параметром запроса является @MyParameter, тогда параметром отчета будет MyParameter, а значение параметра запроса @MyParameter устанавливается в выражение =Parameters!MyParameter.Value
. Дополнительные сведения см. в разделе Набор данных (вкладка «Параметры», конструктор отчетов). Можно вручную изменять параметры запроса и устанавливать их значения по умолчанию. Дополнительные сведения см. в разделе Как связать параметр запроса с параметром отчета (конструктор отчетов).
Примечание. |
---|
Если имя параметра запроса удаляется или меняется, соответствующий параметр отчета не будет автоматически удален или переименован. |
Параметры отчета
В конструкторе отчетов параметры отчета автоматически создаются, когда определяется запрос набора данных, содержащий переменные. В построителе отчетов параметры отчета создаются автоматически, когда задается запрос для предложения фильтра. Можно также вручную создать параметры отчета в диалоговом окне Параметры отчета, причем эти параметры не будут связаны с параметрами запроса.
- Тип данных параметра отчета и другие свойства параметра отчета влияют на то, как параметр выглядит на панели отчета. В зависимости от типа данных параметра можно задать свойства параметров отчета с помощью кнопок, текстовых полей, раскрывающихся списков, параметров календаря или нескольких флажков.
- Параметры отчета могут быть однозначными и многозначными. Многозначные параметры позволяют пользователю выбрать для параметра более одного значения.
- Один параметр отчета может зависеть от другого параметра отчета. Важно учитывать порядок параметров отчета. Параметр, стоящий в списке дальше, может зависеть от параметра, расположенного в списке раньше. Это позволяет определить ряд параметров, известный как каскад параметров, где список значений для одного параметра будет зависеть от значения, выбранного в другом параметре.
- Параметр отчета может использоваться в выражении. Выражения с параметрами могут использоваться везде, где применяются выражения. При выполнении отчета каждый параметр в выражении заменяется его значением. Таким образом, выбранные пользователем параметры могут управлять в зависимости от условий многими аспектами внешнего вида и содержания отчета, включая скрытые строки и столбцы, сортировку и фильтрацию данных, обработку неопределенных данных.
Параметры отчета являются частью его определения при создании отчета, но после публикации отчета ими можно управлять независимо. В представлении данных или разметки в конструкторе отчетов можно изменять параметры, определенные для отчета. Дополнительные сведения см. в разделе Как добавить, редактировать или удалить параметр отчета (конструктор отчетов). После публикации определения отчета можно менять свойства параметров с помощью диспетчера отчетов. Дополнительные сведения см. в разделе Установка параметров для опубликованного отчета.
Быстрая замена допустимых значений параметра
При определении быстро изменяющихся доступных значений эти значения могут устаревать до выполнения отчета. Это может привести к выбору пользователем значения из списка, который более не является действительным на тот момент, когда пользователь отправляет значение и выполняет отчет. Во избежание этого пишите запросы, возвращающие наборы данных, которые не будут изменяться до тех пор, пока пользователь не выберет значение в списке и не выполнит отчет.
Кроме того, избегайте быстро изменяющихся незапрашиваемых значений. Например, если текущая дата предоставляется как доступное значение, напишите выражение, которое использует свойство DateTime.Today вместо свойства DateTime.Now. Это устраняет быстро изменяющуюся часть времени значения.
Фильтрация данных отчета
Можно фильтровать данные после их получения из источника данных, задав выражение фильтра для набора данных, который включает ссылки на параметры. Таким образом, когда читатель отчета выбирает значения параметра, при обработке отчета производится фильтрация и в нем показываются только данные, прошедшие через фильтр.
См. также
Задачи
Как связать параметр запроса с параметром отчета (конструктор отчетов)
Основные понятия
Определение наборов данных отчета
Другие ресурсы
Учебник. Добавление параметров в простой табличный отчет
Учебник. Дополнительные возможности использования параметров
Определение источников данных для отчетов
Представление данных (конструктор отчетов)