Параметры отчета с разбивкой на страницы (построитель отчетов)

ПРИМЕНИМО К: ✔ SQL Server 2016 Reporting Services и более поздние версии ✔️ SharePoint

ПРИМЕНИМО К: ✔ SQL Server 2016 Reporting Services и более поздние версии

В этой статье описываются распространенные варианты применения параметров отчета с разбивкой на страницы, доступные свойства и многое другое. Параметры отчета позволяют управлять данными отчета, объединять связанные отчеты и изменять внешний вид отчетов. Параметры отчета можно использовать в отчетах с разбиением на страницы, создаваемых с помощью таких средств, как построитель отчетов и конструктор отчетов, а также в мобильных отчетах, которые создаются в Издатель мобильных отчетов для SQL Server. Дополнительные сведения о параметрах отчета см. в разделе Понятия параметров отчета.

Сведения о самостоятельном добавлении параметра в отчет см. в разделе Учебник. Добавление параметра к отчету (построитель отчетов).

Распространенные варианты применения параметров

Здесь представлены некоторые из распространенных вариантов применения параметров.

Управление данными отчетов с разбиением на страницы и мобильных отчетов

  • Фильтруйте данные отчета с разбиением на страницы в источнике данных, записывая запросы набора данных, которые содержат переменные.

  • Фильтруйте данные из общего набора данных. При добавлении общего набора данных к отчету с разбиением на страницы запрос изменять нельзя. В отчете можно добавить фильтр набора данных, включающий ссылку на параметр создаваемого отчета.

  • Фильтруйте данные из общего набора данных в мобильном отчете SQL Server . Подробнее см. в разделе Create mobile reports with SQL Server Mobile Report Publisher .

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

Объединение связанных отчетов

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

    Дополнительные сведения см. в разделах Детализированные отчеты (построитель отчетов и службы SSRS), Вложенные отчеты (построитель отчетов и службы SSRS) и Создание связанного отчета.

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

Изменение формы представления отчета

  • Отправьте команды серверу отчетов посредством запроса URL для настройки обработки отчета. Дополнительные сведения см. в разделах Доступ по URL-адресу (SSRS) и Передача параметра отчета в URL-адресе.

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

  • Позвольте пользователям настраивать данные и оформление отчета, включая параметры в выражение.

    Дополнительные сведения см. в разделе Ссылки на коллекцию параметров (построитель отчетов и службы SSRS).

Просмотр отчета с параметрами

При просмотре отчета, имеющего параметры, на панели инструментов средства просмотра отчетов отображаются все параметры, что обеспечивает возможность интерактивного задания значений пользователем. На следующей иллюстрации показана область параметров для отчета с параметрами @ReportMonth, @ReportYear, @EmployeeID, @ShowAll, @ExpandTableRows, @CategoryQuota и @SalesDate.

Просмотр отчета с параметрами

  1. Область параметров . На панели инструментов средства просмотра отчетов отображаются запросы и значения по умолчанию для всех параметров. Структуру параметров можно настроить в области параметров. Дополнительные сведения см. в разделах Настройка области параметров в отчете (построитель отчетов).

  2. Параметр @SalesDate. Параметр @SalesDate имеет тип данных DateTime. Рядом с текстовым полем отображается запрос на выбор даты. Чтобы изменить дату, введите новую дату в текстовом поле или используйте элемент управления «календарь».

  3. Параметр @ShowAll. Параметр @ShowAll имеет тип данных Boolean. Воспользуйтесь переключателями, чтобы выбрать значение True или False.

  4. Показать или скрыть область параметров . На панели инструментов средства просмотра отчетов щелкните эту стрелку, чтобы отобразить или скрыть область параметров.

  5. Параметр @CategoryQuota. Параметр @CategoryQuota имеет тип данных Float, поэтому он принимает числовое значение. Параметр @CategoryQuota разрешает несколько значений.

  6. Просмотреть отчет . На панели инструментов средства просмотра отчетов нажмите кнопку Просмотреть отчет , чтобы запустить отчет. Если для всех параметров заданы значения по умолчанию, то отчет запускается автоматически при первом просмотре.

Создание параметров

Существует несколько способов создания параметров отчета.

Примечание

Не все источники данных поддерживают параметры.

Запрос набора данных или хранимая процедура с параметрами

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

Свойства набора данных параметра построителя отчетов

На этом изображении из построителя отчетов показаны следующие элементы.

  1. Параметры отчета в области данных отчета.

  2. Набор данных с параметрами.

  3. Область параметров.

  4. Параметры, указанные в диалоговом окне "Свойства набора данных".

Набор данных может быть общим или внедренным. При добавлении общего набора данных к отчету параметры набора данных, помеченные, как внутренние, не могут переопределяться в отчете. Параметры набора данных, не помеченные, как внутренние, можно переопределять.

Дополнительную информацию смотрите в подразделе Запрос набора данных в этом разделе.

Создание параметра вручную

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

Примечание

Поскольку на сервере параметры управляются независимо, переиздание основного отчета с новыми параметрами не перезапишет существующие параметры отчета.

Элемент отчета с параметром

Добавление элемента отчета, содержащего ссылки на параметр или общий набор данных, содержащий переменные.

Элементы отчета хранятся на сервере отчетов и доступны другим пользователям для использования в своих отчетах. На сервере отчетов нельзя управлять элементами отчетов, которые являются параметрами. Можно воспользоваться поиском параметров в галерее элементов отчетов, а после их добавления настроить параметры уже в отчете. Дополнительные сведения см. в разделе Элементы отчета (построитель отчетов и службы SSRS).

Примечание

Параметры можно опубликовать как отдельный элемент отчета для областей данных, имеющих зависящие наборы данных с параметрами. Хотя параметры являются элементами отчета, напрямую добавить к отчету часть отчета-параметра нельзя. Вместо этого следует добавить элемент отчета, после чего все необходимые параметры отчета будут автоматически созданы на основе запросов набора данных, включенных или ссылаемых в части отчета. Дополнительные сведения об элементах отчета см. в разделах Элементы отчета (построитель отчетов и службы SSRS) и Элементы отчета в конструкторе отчетов (SSRS).

Значения параметров

Далее представлены параметры для выбора значений параметра в отчете.

  • Выберите одно значение параметра из раскрывающегося списка.

  • Выберите несколько значений параметра из раскрывающегося списка.

  • Выберите значение из раскрывающегося списка для одного параметра, которое определяет доступные значения для другого параметра в раскрывающемся списке. Это каскадные параметры. Каскадные параметры позволяют вам быстро фильтровать значения параметров из тысяч значений в управляемое количество.

    Дополнительные сведения см. в разделах Добавление каскадных параметров в отчет (построитель отчетов и службы SSRS).

  • Запустите выполнение отчета без предварительного выбора значения параметра, так как для параметра было создано значение по умолчанию.

Свойства параметров отчета

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

Свойство Описание
Имя Введите имя параметра с учетом регистра. Имя должно начинаться с буквы и может содержать буквы, цифры и подчеркивание (_). Имя не может содержать пробелы. Для автоматически создаваемых параметров имя соответствует параметру в запросе набора данных. По умолчанию для создаваемых вручную параметров используются имена вида ReportParameter1.
prompt Текст, отображаемый рядом с параметром на панели инструментов средства просмотра отчетов.
Тип данных Параметр отчета должен иметь один из следующих типов данных:

Boolean. Пользователь выбирает значение True или False из переключателя.

DateTime. Пользователь выбирает дату из элемента управления «календарь».

Integer. Пользователь вводит значения в текстовое поле.

Float. Пользователь вводит значения в текстовое поле.

Text. Пользователь вводит значения в текстовое поле.

При задании для параметра доступных значений пользователь выбирает значения из раскрывающегося списка, даже если тип данных — DateTime.

Дополнительную информацию о типах данных отчета смотри RDL Data Types.
Разрешить пустое значение Установите этот параметр, если значение параметра может быть пустой строкой или пустым значением.

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

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

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

При быстром изменении данных, используемых для указания значений, в отображаемом списке пользователь может увидеть не самые последние значения.
Видимый Выберите этот параметр, чтобы отобразить параметр отчета в верхней части отчета при его выполнении. Этот параметр позволяет пользователям выбирать значения параметра во время выполнения.
Скрытый Выберите этот параметр, чтобы скрыть параметр отчета в опубликованном отчете. Значения параметра отчета еще можно задать в URL-адресе отчета, в определении подписки или на сервере отчетов.
Внутренние Выберите этот параметр, чтобы скрыть параметр отчета. В опубликованном отчете этот параметр отчета можно будет просмотреть только в определении отчета.
Доступные значения При наличии у параметра заданных доступных значений, допустимые значения всегда отображаются в виде раскрывающегося списка. Например, при указании доступных значений для параметра типа DateTime на панели параметра отображается раскрывающийся список дат, а не элемент управления "календарь".

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

Примечание о безопасности. Во всех отчетах, содержащих параметры с типом данных Text, используйте список доступных значений (также называемый списком допустимых значений) и убедитесь, что у любого пользователя, выполняющего отчет, есть разрешения только на просмотр данных в отчете. Дополнительные сведения см. в разделах Безопасность (построитель отчетов).
Значения по умолчанию Задание значений по умолчанию с помощью запроса или статического списка.

При наличии у всех параметров значений по умолчанию отчет запускается автоматически при первом просмотре.
Продвинутый уровень Задайте атрибут определения отчета UsedInQuery, значение, указывающее, влияет этот параметр на данные отчета напрямую или косвенно.

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

Всегда обновлять
Выберите данный параметр, когда параметр отчета используется прямо или косвенно в запросе набора данных или в выражении параметра. Этот параметр устанавливает UsedInQuery в значение True.

Не обновлять
Выберите данный параметр, когда параметр отчета не используется прямо или косвенно в запросе набора данных или в выражении параметра. Этот параметр устанавливает UsedInQuery в значение False.

Внимание! Параметр Не обновлять следует использовать осторожно. На сервере отчетов значение UsedInQuery позволяет управлять режимами кэша для данных отчета и подготовленных отчетов и настройками параметров для отчетов-снимков. Если параметр Не обновлять задан неверно, это может привести к ошибкам в данных отчета или кэшируемых отчетах, а также к несогласованности данных в отчетах-снимках. Дополнительные сведения см. в разделе Язык определения отчетов (службы SSRS).

Запрос набора данных

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

Используйте конструктор запросов для источника данных, чтобы помочь построить параметризованный запрос.

  • В запросах Transact-SQL различные источники данных поддерживают различный синтаксис параметров. Поддерживаются диапазоны параметров, определяемые в запросе по положению или по имени. Дополнительные сведения см. в подразделах, посвященных типам внешних источников данных, в разделе Наборы данных отчетов (службы SSRS). Чтобы создать параметризованный запрос, в конструкторе реляционных запросов нужно выбрать режим параметров для фильтра. Дополнительные сведения см. в разделе Пользовательский интерфейс конструктора реляционных запросов (построитель отчетов).

  • Для запросов, основанных на таких многомерных источниках данных, как службы Microsoft SQL Server Analysis Services, SAP NetWeaver BI или Hyperion Essbase, можно указать, следует ли создавать параметры на основе фильтра, указанного в конструкторе запросов. См. подробнее о конструкторе отчетов в руководстве по средствам проектирования запросов (SSRS), соответствующих модулю обработки данных.

Управление параметрами опубликованного отчета

При разработке отчета параметры отчета сохраняются в определении отчета. При публикации отчета сохранение параметров отчета и управление ими осуществляется отдельно от определения отчета.

Для опубликованного отчета можно использовать следующее.

  • Свойства параметров отчета. Изменить значения параметров отчета напрямую на сервере отчетов, независимо от определения отчета.

  • Кэшированные отчеты. Для создания плана кэширования для отчета все параметры должны иметь значения по умолчанию. Дополнительные сведения см. в разделе Кэширование отчетов (службы SSRS), это был единственный способ предварительной загрузки кэша.

  • Общие наборы данных в кэше. Для создания плана кэширования для общего набора данных все параметры должны иметь значения по умолчанию. Дополнительные сведения см. в разделе Кэширование отчетов (службы SSRS), это был единственный способ предварительной загрузки кэша.

  • Связанные отчеты. Можно создавать связанные отчеты с заранее заданными значениями параметров для фильтрации данных для разных целевых групп. Дополнительные сведения см. в разделе Создание связанного отчета.

  • Подписки на отчет. Можно указывать значения параметров для фильтрации данных и доставлять отчеты по подпискам. Дополнительные сведения см. в разделе Подписки и доставка (службы Reporting Services).

  • Доступ по URL-адресу. Значения параметров можно указывать в URL-адресе отчета. Также можно выполнять отчеты и указывать значения параметра при помощи доступа через URL-адрес. Дополнительные сведения см. в разделе Доступ по URL-адресу (SSRS).

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

Не все параметры можно изменять всегда. Если параметр отчета получает значение по умолчанию от запроса набора данных, это значение не может быть изменено для опубликованного отчета и не может быт изменено на сервере отчетов. Значение, применяемое во время выполнения, определяется при выполнении запроса либо при вычислении этого выражения для параметров на основе выражения.

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

Параметры подписки

Можно определить подписку на отчет по запросу или на моментальный снимок и указать значения параметров для использования в процессе обработки подписки.

  • Отчет по запросу. Для отчета по запросу каждому из указанных для отчета параметров можно задать значение, отличное от опубликованного. Например, предположим, что имеется отчет службы обработки запросов, который использует параметр Период времени для возвращения запросов клиентской службы на текущий день, неделю или месяц. Если значение параметра по умолчанию для отчета установлено на сегодня, ваша подписка может использовать другое значение параметра (такое как неделя или месяц) для создания отчета, содержащего цифры за неделю или месяц.

  • Моментальный снимок. Подписка должна использовать значения параметров, определенные для моментального снимка. Ваша подписка не может переопределять значение параметра, определенное для моментального снимка. Например, предположим, что производится подписка на отчет о продажах западного региона, выполняемый как моментальный снимок отчета, а моментальный снимок указывает Западный в качестве значения параметра региона. В таком случае, если будет создана подписка на этот отчет, необходимо использовать значение параметра Западный в вашей подписке. Для обеспечения наглядной индикации того, что параметр не учитывается, полям параметров на странице подписки присваивается атрибут «только для чтения».

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

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

Примечание

Управляемые данными подписки могут использовать значения параметров, полученные из источника данных подписчика. Дополнительные сведения см. в разделе Использование внешнего источника данных для данных подписчика (управляемая данными подписка).

Дополнительные сведения см. в разделе Подписки и доставка (службы Reporting Services).

Параметры и защита данных

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

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

Важно!

В любом отчете, содержащем параметры типа String, используйте список доступных значений (иначе называемый списком допустимых значений), при этом у любого пользователя, запускающего отчеты, должно быть разрешение только на просмотр данных в отчете. При определении параметра типа String пользователю предоставляется текстовое поле, в которое можно ввести любое значение. Список допустимых значений ограничивает значения, которые могут быть введены. Если параметр отчета привязан к параметру набора данных и вы не используете доступный список значений, пользователь отчета может напечатать синтаксис SQL в текстовое поле, возможно открыв отчет и ваш сервер атаке путем внедрения кода SQL. Наличие у этого пользователя достаточных разрешений для выполнения новой инструкции SQL может привести к нежелательным последствиям на сервере.

Если параметр отчета не привязан к параметру набора данных и значения параметра включена в отчет, пользователь отчета может напечатать синтаксис выражения или URL в значение параметра и преобразовать отчет в Excel или HTML. Если затем другой пользователь при просмотре отчета щелкнет содержимое параметра, он может неумышленно выполнить вредоносный скрипт или перейти по ссылке.

Чтобы снизить риск неумышленного запуска вредоносных скриптов, открывайте отчеты, готовые для просмотра, только из проверенных источников. Дополнительные сведения о защите отчетов см. в разделе Обеспечение безопасности отчетов и ресурсов.

Руководство. Добавление параметра к отчету (построитель отчетов)

Понятия параметров отчета

Образцы отчетов (построитель отчетов и службы SSRS)

Использование выражений в отчетах (построитель отчетов и службы SSRS)

Выражения (построитель отчетов и службы SSRS)

Фильтрация, группирование и сортировка данных (построитель отчетов и службы SSRS)

Безопасность (построитель отчетов)

Интерактивная сортировка, схемы документов и ссылки (построитель отчетов и службы SSRS)

Детализация, углубленная детализация, вложенные отчеты и вложенные области данных (построитель отчетов и службы SSRS)