Поделиться через


Настройка свойств параметров для опубликованного отчета

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

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

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

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

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

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

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

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

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

Вопросы безопасности параметризованных отчетов

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

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

Примечание по безопасностиПримечание по безопасности

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

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

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

Настройка свойств параметра

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

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

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

  • Свойство Значение по умолчанию может быть константой или значением NULL (если параметр принимает значения NULL). Значением этого свойства не может быть выражение.

  • Свойство Скрыть определяет видимость отображаемых полей и полей ввода для пользователей. Установите этот флажок, чтобы скрыть параметр.

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

  • Свойство Отображаемый текст определяет текст, отображаемый рядом с параметром. Этот текст может быть меткой или более длинной текстовой строкой, в которой могут быть указаны инструкции по использованию. Это свойство доступно, если выбрано свойство Запрос у пользователя.

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

Скрытие параметров

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

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

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

  1. Выберите Имеет значение по умолчанию.

  2. Задайте Значение по умолчанию.

  3. Выберите Скрыть.

Проверка значений параметра

Чтобы проверить допустимость введенного значения, выполните отчет. Ошибки обработки параметров отображаются на странице ошибок диспетчера отчетов. Чтобы исследовать неполадку более подробно, можно просмотреть файлы журнала. Дополнительные сведения см. в разделе Файлы журнала служб Reporting Services.

Настройка параметров в подписках

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