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

ПРИМЕНИМО К: ✔ Построитель отчетов (Майкрософт) (SSRS) ✔️ Power BI Построитель Отчетов ✔️ Конструктор отчетов в SQL Server Data Tools

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

Примечание

Создать и изменить определение для отчета на страницу (RDL-файл) можно с помощью построителя отчетов (Майкрософт), построителя отчетов Power BI и конструктора отчетов в SQL Server Data Tools.

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

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

Сведения о создании каскадных параметров с несколькими значениями и о включении функции «Выделить все» см. на странице How to have a Select All Multivalue Cascading Parameter.

  1. В области данных отчета щелкните правой кнопкой мыши источник данных и выберите команду Добавить набор данных.

  2. В поле Имя введите имя набора данных.

  3. В поле Источник данных выберите имя источника данных или нажмите кнопку Создать для создания нового источника данных.

  4. В поле Тип запроса выберите тип запроса для выбранного источника данных. В этом разделе предполагается использование запроса типа Текст .

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

    1. Список полей источника данных. Например, в инструкции Transact-SQL инструкция SELECT указывает список имен столбцов базы данных из заданной таблицы или представления.

    2. По одному параметру запроса для каждого каскадного параметра. Параметр запроса ограничивает данные, полученные из источника данных, путем указания определенных значений для включения или исключения из запроса. Как правило, параметры запроса появляются в предложении ограничения запроса. Например, в инструкции SELECT языка Transact-SQL параметры запроса обнаруживаются в предложении WHERE.

  6. Нажмите кнопку Запустить ( ! ). После включения параметров запроса и запуска запроса параметры отчета, соответствующие параметрам запроса, создаются автоматически.

    Примечание

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

  7. Нажмите кнопку ОК.

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

Создание набора данных, предоставляющего значения для независимого параметра

  1. В области данных отчета щелкните правой кнопкой мыши источник данных и выберите команду Добавить набор данных.

  2. В поле Имя введите имя набора данных.

  3. В поле Источник данных удостоверьтесь, что имя совпадает с именем источника данных, выбранного в шаге 1.

  4. В поле Тип запроса выберите тип запроса для выбранного источника данных. В этом разделе предполагается использование запроса типа Текст .

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

    SELECT DISTINCT <column name> FROM <table>  
    

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

    Нажмите кнопку Запустить ( ! ). Результирующий набор показывает доступные значения для первого параметра.

  6. Нажмите кнопку ОК.

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

Задание допустимых значений параметра отчета

  1. В области данных отчета в папке "Параметры" щелкните первый параметр правой кнопкой мыши и выберите Свойства параметра.

  2. В поле Имя проверьте правильность имени параметра.

  3. Нажмите кнопку Допустимые значения.

  4. Щелкните Получать значения из запроса. Появится три поля.

  5. В раскрывающемся списке поля Набор данных выберите имя набора данных, созданного в предыдущей процедуре.

  6. В поле Значение щелкните имя поля, предоставляющего значение параметра.

  7. В поле Метка щелкните имя поля, предоставляющего метку параметра.

  8. Нажмите кнопку ОК.

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

Создание набора данных, предоставляющего значения для зависимого параметра

  1. В области данных отчета щелкните правой кнопкой мыши источник данных и выберите команду Добавить набор данных.

  2. В поле Имя введите имя набора данных.

  3. В поле Источник данных удостоверьтесь, что имя совпадает с именем источника данных, выбранного в шаге 1.

  4. В поле Тип запроса выберите тип запроса для выбранного источника данных. В этом разделе предполагается использование запроса типа Текст .

  5. В поле Запрос введите запрос, используемый для получения значений для этого параметра. Запросы для зависимых параметров обычно включают параметры запроса для каждого параметра, от которого зависит данный параметр. Например, чтобы создать запрос для параметра, обеспечивающего все значения подкатегории (зависимый параметр) для категории (независимый параметр), можно использовать следующую инструкцию Transact-SQL :

    SELECT DISTINCT Subcategory FROM <table>   
    WHERE (Category = @Category)  
    

    В предложении WHERE Category — это имя поля из <table>, а @Category — параметр запроса. Эта инструкция возвращает список подкатегорий для категории, указанной в параметре @Category. Во время выполнения данное значение будет заполнено значением, которое выбирает пользователь для параметра отчета с тем же именем.

  6. Нажмите кнопку ОК.

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

Задание допустимых значений для второго параметра

  1. В области данных отчета в папке "Параметры" щелкните первый параметр правой кнопкой мыши и выберите Свойства параметра.

  2. В поле Имя проверьте правильность имени параметра.

  3. Нажмите кнопку Допустимые значения.

  4. Щелкните Получать значения из запроса.

  5. В раскрывающемся списке поля Набор данных выберите имя набора данных, созданного в предыдущей процедуре.

  6. В поле Значение щелкните имя поля, предоставляющего значение параметра.

  7. В поле Метка щелкните имя поля, предоставляющего метку параметра.

  8. Нажмите кнопку ОК.

Проверка каскадирования параметров

  1. Нажмите кнопку Запустить.

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

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

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

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

  4. Нажмите кнопку Просмотр отчета. Экран отчета обновляется на основании выбранных параметров.

См. также:

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