Создание динамических отчетов с параметрами

Завершено

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

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

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

В следующем примере вы создали отчет для отдела продаж компании Tailwind Traders, где приводятся данные по продажам из базы данных SQL Server. Он дает целостное представление об эффективности работы отдела продаж. Хотя этот отчет полезен, но сотрудники отдела продаж хотят иметь возможность фильтровать его, чтобы просматривать только свои данные и сопоставлять свои успехи с целевыми показателями.

Создание динамических отчетов для отдельных значений

Чтобы создать динамический отчет, сначала нужно написать SQL-запрос. Затем используйте функцию Получения данных в Power BI Desktop для подключения к базе данных.

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

  1. Введя сведения о сервере, в окне База данных SQL Server выберите Дополнительные параметры.

  2. Вставьте SQL-запрос в поле Инструкция SQL, а затем нажмите кнопку ОК.

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

  3. Нажмите Изменить, чтобы открыть данные в редакторе Power Query.

Затем создайте параметр , выполнив следующие действия.

  1. На вкладке Главная выберите Управление параметрами > Создать параметр.

  2. В окне Параметры измените имя параметра по умолчанию на более понятное в соответствии с его назначением. В этом случае мы изменим имя на SalesPerson (Продавец).

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

  4. Щелкните ОК.

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

Теперь нужно изменить код SQL-запроса с учетом нового параметра:

  1. Щелкните правой кнопкой мыши Запрос1 и выберите пункт Расширенный редактор.

  2. Замените существующее значение в инструкции execute амперсандом (&), за которым следует имя параметра (SalesPerson), как показано на следующем рисунке.

  3. Убедитесь в том, что в нижней части окна нет ошибок, и нажмите кнопку Готово.

Хотя вы не видите разницы на экране, Power BI выполнил запрос.

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

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

    При успешном выполнении запроса параметр отображает новое значение.

  3. Выберите Закрыть и применить, чтобы вернуться в редактор отчетов.

Теперь можно применить параметр к отчету:

  1. Выберите Изменить запросы > Изменить параметры.

  2. В окне Изменение параметров введите новое значение и нажмите кнопку ОК.

  3. Выберите Применить изменения и снова выполните машинный запрос.

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

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

Создание динамических отчетов для нескольких значений

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

После этого воспользуйтесь функцией Получить данные в Power BI Desktop для подключения к данных в этом листе Excel, а затем сделайте следующее:

  1. В окне Навигатор выберите Изменить, чтобы открыть данные в Редактор Power Query, где отобразится новый запрос к таблице данных.

  2. Измените имя столбца таблицы на более понятное.

  3. Измените тип данных столбца на Текст, чтобы он соответствовал типу параметра и не возникало проблем с преобразованием данных.

  4. В разделе Свойства запроса также измените имя источника данных на более понятное. В рамках этого примера укажите SalesPersonID (ИД_продавца).

Затем необходимо создать функцию, которая передает новый запрос SalesPersonID в Query1:

  1. Щелкните правой кнопкой мыши Запрос1 и выберите пункт Создать функцию.

  2. Введите имя функции и нажмите кнопку ОК.

    Новая функция появится в области Запросы .

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

  4. Выберите запрос SalesPersonID, загруженный из листа Excel, а затем на вкладке Добавление столбца выберите Вызвать настраиваемую функцию, чтобы выполнить функцию, которую вы создали.

  5. В окне Вызвать настраиваемую функцию выберите функцию в списке Запрос функции.

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

  1. Нажмите кнопку ОК и при необходимости выполните машинный запрос.

    Рядом со столбцом SalesPerson появится новый столбец для функции GetSalesFromSalesPerson.

  2. Щелкните значок с двумя стрелками в заголовке этого нового столбца, а затем установите флажки для столбцов, которые требуется загрузить. В этом разделе определяются сведения, доступные в отчете для каждого значения (идентификатора продавца).

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

  4. Щелкните ОК.

    Вы сможете просматривать данные по выбранным столбцам для каждого значения (идентификатор продавца).

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

  5. Сохраните изменения и вернитесь в Редактор Power Query.

  6. На вкладке Главная выберите Обновить просмотр, а затем снова выполните машинный запрос (при необходимости). Вы должны увидеть данные по продажам новых продавцов, идентификаторы которых были добавлены на лист.

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

Теперь можно приступить к созданию отчета.