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


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

Область применения: SQL Server 2016 (13.x) Reporting Services и более поздних версий SharePoint

Область применения: SQL Server 2016 (13.x) Reporting Services и более поздних версий

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

Примечание.

Издатель мобильных отчетов для SQL Server не рекомендуется использовать во всех выпусках SQL Server Reporting Services после SQL Server Reporting Services 2019. Она прекращена с SQL Server Reporting Services 2022 и Сервер отчетов Power BI.

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

Распространенные способы использования параметров

Распространенные варианты использования параметров:

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

построитель отчетов и конструктор отчетов предоставляют параметры фильтрации данных на основе типа данных, которые у вас есть:

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

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

  • Фильтруйте данные из общего набора данных в мобильном отчете SQL Server. Дополнительные сведения см. в разделе Создание мобильных отчетов с помощью издателя мобильных отчетов SQL Server.

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

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

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

Различные презентации отчета

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

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

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

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

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

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

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

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

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

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

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

Параметры отчета можно создавать несколькими способами:

Примечание.

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

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

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

Снимок экрана: построитель отчетов выделение области данных отчета, области параметров и диалогового окна

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

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

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

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

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

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

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

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

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

Примечание.

Так как параметры управляются независимо на сервере, повторно публикуя основной отчет с новыми параметрами параметров, не перезаписывает существующие параметры отчета.

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

Примечание.

Части отчетов устарели для всех выпусков служб SQL Server Reporting Services, начиная с SQL Server Reporting Services 2019 и всех выпусков Сервер отчетов Power BI начиная с Сервер отчетов Power BI сентября 2022 года.

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

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

Примечание.

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

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

Ниже приведены параметры выбора значений параметров в отчете:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о типах данных отчета см. в разделе "Типы данных RDL".
Разрешить пустое значение Выберите этот параметр, если значение параметра может быть пустой строкой или пустой.

Если вы указываете допустимые значения для параметра и хотите, чтобы один из них был пустым, необходимо включить его в качестве одного из указанных значений. Выбор этого параметра не включает пустое значение для доступных значений.
Разрешить значение 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 из встроенных полей. UserID предоставляет способ получить удостоверение пользователя, выполняющего отчет, и использовать это удостоверение для получения данных, относящихся к пользователю.

Внимание

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

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

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