Report Builder
November 9, 2024

Report Builder & Power BI

В данной статье будет рассказано о возможности выполнения скриптов Python в пользовательском интерфейсе при поддержке Report Builder и Power BI облачной версии. Лицензия Pro.

Иногда в своей практике я использую Report Builder. Это инструмент для построения постраничных отчётов. Выглядит он не современно, в отличие от power bi. Но обладает другими преимуществами, не доступными PBI.

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

Сначала о преимуществах Report builder:

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

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

Решение
Report builder умеет выполнять хранимые процедуры по заданным параметрам "на лету". Умеет рисовать таблицы и графики. Вся визуальная часть была построена на нем.

Созданы параметры для передачи информации от пользователей. Все они скрыты, заполнять их будут через отчет Power BI. Настроили специальную учётную запись с доступом к схеме для выполнения процедуры. На облаке создали подключение. И опубликовали отчет с этим подключением. Если у пользователя есть права в рабочее пространство, где лежит отчет, он сможет запустить отчет даже без доступа к процедуре SQL.

У пользователей есть основной отчет по этим данным, было не лучшей идеей выносить часть расчетов в другой отчет на Report builder. Который имеет не привычный интерфейс. В частности, нужно каждый раз нажимать кнопку "Просмотреть отчет" при смене значений параметров.

В Power BI есть визуальный элемент Paginated Report, который подключили к созданному отчету в Report builder. Настроили в отчете Power BI страницу с выбором данных в срезах для параметров визуального элемента.

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

В плане доступов. Отчет PBI исполняется под учеткой AD пользователя, но отчет Report Builder вызывает под учеткой созданного подключения. Пользователь может не иметь доступ к процедуре SQL, но увидит данные в облаке, если есть доступ в рабочее пространство.

Заключение

PBI позволил скрасить недостатки Report Builder:

  • Автоматический пересчет визуализации при смене значений срезов
  • Держится сессия подключения к отчету. В Report Builder через 10 минут коннект отваливается
  • Привычный пользовательский интерфейс

А Report Builder дал возможность считать данные "на лету".