Всем привет!

В данной статье я расскажу, как построить отчет Power BI на данных SAP Hana. Внятной информации на этот счет в интернете я не нашел, поэтому пришла идея поделиться информацией. Так вышло, что в нашу команду прилетел новый проект – нужно было построить аналитику на данных SAP EWM, используя Power BI, как средство визуализации.

Когда-то, работая SAP BW консультантом еще в далеком 2019, я начал использовать Power BI для своих личных целей, как хобби. Произошло это случайно. Я хотел проанализировать вакансии с сайта подбора персонала, что и сделал. На это у меня есть отдельная статья. Дальше больше, в итоге скопился приличный опыт. Таким образом я стал одним из разработчиков на вышеуказанном проекте????.    

Что на входе? Система SAP EWM (логистика, поставки) и куча графиков в Excel от заказчика. Причем некоторые графики должны обновляться не менее раза в час – то есть почти в реальном времени, рис. 1.  

рис 1 - Старт
рис 1 - Старт

Что нужно? По классике :-). Экстракция, трансформация, data mart, BI отчеты.  Подумав, пришли к выводу, что для экстракции менее проблематично использовать стандартные экстракторы SAP BW. Для этого пришлось развернуть сам модуль SAP BW. Это было сделано в облаке AWS, рис. 2.

рис 2  Экстракция из SAP EWM в SAP BW
рис 2 Экстракция из SAP EWM в SAP BW

Подключение к 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, она в два раза дешевле Премиум-версии.

рис 3 - Архитектура подключения к SAP Hana, используя Power BI
рис 3 - Архитектура подключения к SAP Hana, используя Power BI

Но у режима импорт есть некоторые ограничения, самое существенное это ограничения выбранного массива данных в миллион строк. То есть, есть вы выводите таблицу, в которой более 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.

рис 4 - Подключение к серверу SAP Hana
рис 4 - Подключение к серверу SAP Hana

На втором шаге нужно ввести логин/пароль разработчика. Важно, что можно вводить данные разработчика, тк после публикации файла PBI в облако подключение использует шлюз(если он настроен). То есть логин/пароль заменяется на технического пользователя.

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

Выбор мер и измерений. После подключения переходим на следующий экран. На экране ниже представлен вид Calculation view. Вы должны выбрать только те меры и измерения, которые Вам необходимы, рис. 5. Дело в том, что для каждой визуализации в отчете формируется свой SELECT к базе данных, причем вложенный. Вложенный SELECT как раз и состоит из выбранных Вами полей на данном шаге, рис. 6.

Рисунки 5, 6

рис 5 - Выбор мер и измерений
рис 5 - Выбор мер и измерений
рис 6 - Вложенный селект
рис 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
рис 7 Срез Power BI, он же справочник
рис 7 Срез Power BI, он же справочник
рис 8 - Схема звезда
рис 8 - Схема звезда


На этом все! Надеюсь эта информация по подключению Power BI к SAP Hana поможет кому-нибудь. Мне её очень не хватало.

Комментарии (0)