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, но увидит данные в облаке, если есть доступ в рабочее пространство.