Всем привет!
В данной статье я расскажу, как построить отчет Power BI на данных SAP Hana. Внятной информации на этот счет в интернете я не нашел, поэтому пришла идея поделиться информацией. Так вышло, что в нашу команду прилетел новый проект – нужно было построить аналитику на данных SAP EWM, используя Power BI, как средство визуализации.
Когда-то, работая SAP BW консультантом еще в далеком 2019, я начал использовать Power BI для своих личных целей, как хобби. Произошло это случайно. Я хотел проанализировать вакансии с сайта подбора персонала, что и сделал. На это у меня есть отдельная статья. Дальше больше, в итоге скопился приличный опыт. Таким образом я стал одним из разработчиков на вышеуказанном проекте????.
Что на входе? Система SAP EWM (логистика, поставки) и куча графиков в Excel от заказчика. Причем некоторые графики должны обновляться не менее раза в час – то есть почти в реальном времени, рис. 1.
Что нужно? По классике :-). Экстракция, трансформация, data mart, BI отчеты. Подумав, пришли к выводу, что для экстракции менее проблематично использовать стандартные экстракторы SAP BW. Для этого пришлось развернуть сам модуль SAP BW. Это было сделано в облаке AWS, рис. 2.
Подключение к SAP BW или БД Hana. Power BI может подключаться к витринам SAP BW или напрямую к БД Hana. Известно, что работа с SAP BW медленнее из-за дополнительного виртуального слоя объектов BW(cube or BEx query). Поэтому было принято решение подключаться напрямую к Hana, а необходимые преобразования и соединения делать на виртуальном слое Hana - Calculation View.
Import or Direct? Мы выбрали Direct, рис. 3. У нас было требование – некоторые отчеты должны обновляться каждый час. При режиме Импорт потребовалось бы синхронизация загрузок EWM - > BW - > Power BI. При столь коротком промежутке это сделать проблематично. Плюс мы лишаемся поддержки загрузок в Power BI и связанных с ними ошибок. Пользователи могли бы использовать лицензию Power BI Pro, она в два раза дешевле Премиум-версии.
Но у режима импорт есть некоторые ограничения, самое существенное это ограничения выбранного массива данных в миллион строк. То есть, есть вы выводите таблицу, в которой более 1 млн строк, то это проблема. В основном в дашбордах используются сгруппированные данные, привет SQL Group by ????. Так что, ограничения 1 млн строк достигают в редких случаях. Итого: SAP EWM - > Instance BW(AWS Cloud) -> Power BI (Direct mode – connect to Hana)
Hana like Analytical source or Relation source? Мы выбрали второе. В мануале Power BI написано, что первый режим работает быстрее, но мое личное тестирование показало, что второй режим работает так же. Так же хотелось большей гибкости и по полной использовать замечательный язык DAX.
Подключение к SAP Hana. Итак, экстрактор сделан, тестовые данные загружены, Calculation View готово. Подключаемся! В Power BI выбираем источник данных Hana, далее нужно ввести адрес сервера и порт, выбрать режим, рис. 4.
На втором шаге нужно ввести логин/пароль разработчика. Важно, что можно вводить данные разработчика, тк после публикации файла PBI в облако подключение использует шлюз(если он настроен). То есть логин/пароль заменяется на технического пользователя.
Шлюз – специальное ПО, которое после публикации файла определяет к какому серверу подключается файл и автоматически заменяет логин и пароль пользователя, который публиковал отчет, на технического. Но для этого нужно создать и настроить шлюз.
Выбор мер и измерений. После подключения переходим на следующий экран. На экране ниже представлен вид Calculation view. Вы должны выбрать только те меры и измерения, которые Вам необходимы, рис. 5. Дело в том, что для каждой визуализации в отчете формируется свой SELECT к базе данных, причем вложенный. Вложенный SELECT как раз и состоит из выбранных Вами полей на данном шаге, рис. 6.
Рисунки 5, 6
Input parameters. В SAP Hana есть очень полезная фича как Input parameter. Но его использование в Power BI ограниченно. Как известно Power BI состоит из двух частей: загрузка и визуализация. Так вот, Input parameter можно использовать только на первом этапе - загрузки. На втором этапе его можно менять по кнопке Изменить параметры, но невозможно менять с помощью таких визуализаций как Срез. А после публикации отчета в облаке управлять инпут параметрами Hana невозможно для рядового пользователя. Надеемся, что разработчики скоро предоставят такую возможность.
Связи между таблицами. При режиме Direct qwery можно строить связи между таблицами. Проблем и ограничений с этим нет. Это отличие Analitical model vs Relation model.
Справочники (признаки), срезы. Для того чтобы срезы(фильтры) отрабатывали быстро, каждый срез был связан с View признака в Hana - получили справочник, рис 7. Далее связали справочники с таблицей фактов. Получилась классическая схема звезда, рис. 8.
Рисунки 7, 8
На этом все! Надеюсь эта информация по подключению Power BI к SAP Hana поможет кому-нибудь. Мне её очень не хватало.