Power BI Report Server – заметки пользователя

229

 

Добрый день. На связи снова Алан Джанибеков. 

После ухода иностранных компаний из РФ на рынке BI решений много изменений – появляются новые решения, бесплатное становится платным, платное дорожает. При этом, к сожалению, пока эти решения сильно отстают от любимого нами Power BI.

Политические, моральные и кармические аспекты оставим за скобками и попробуем рассмотреть использование Power BI Report Server в текущих реалиях. Реалии заключаются в том, что есть немало пользователей, обладающих on-premise решением Power BI Report Server, они продолжают использовать или переходят на него. То есть используют Power BI локально внутри серверной инфраструктуры компании. Их практику я подглядел и использую для текущей статьи;) 

Аспект законодательства за скобки выносить не стоит, поэтому сразу отмечу, что мы не призываем к пиратству или другому пресечению законов РФ – описываем легальные кейсы.

Power BI online vs Power BI Report Server
Power BI online vs Power BI Report Server

Итак, несмотря на уход Microsoft беглый поиск по hh.ru показывает, что никуда из российского рынка Power BI не ушёл. Во-первых, облачная версия доступна компаниям с дочерними предприятиями в иностранных юрисдикциях, да и просто читателям блога из других стран. Во-вторых, локальная версия Report Server начала пользоваться большим спросом. А причина тому – 1С.

Да-да, зрение вас не подводит, именно 1С. Раньше мем был смешной, а сейчас уже и не понятно…

Дело в том, что администраторы 1С для ускорения работы баз и создания резервных копий пользовались продуктом MS SQL Server. При покупке некоторых типов лицензий SQL Server, PBI RS становился доступным, поэтому если ваша компания находится на стыке выбора BI решения, уточните у вашего администратора – а вдруг у вас уже есть решение можно не только сэкономить бюджет, но и продолжить пользоваться “почти” привычным решением.

Как вы поняли, речь идет про локальную версию Power BI, которая носит дополнение “Report Server”. Решение разворачивается на сервере компании, разработанные отчеты размещаются там и доступ к ним получают пользователи вашей локальной сети, об этом позже. Разработка отчетов происходит в отдельном приложении, которое отличается от Desktop только отсутствием неокторых опций сохранения.

Полное описание продукта на официальном сайте вместе с документацией. Я же обращу внимания на те отличая, на которые обратил внимание во время работы.

  1. В глаза сразу бросаются отличия интерфейсов:
Power BI Online Service
Power BI Report Server

В RS появляются папки, аналог рабочих областей:

2. В Report Server отсутствуют панели показателей (дашборды) – возможно кому-то важно, я никогда их не создавал. В целом, для очень сильно нуждающихся можно построить отчет с аналогичным видом.

Дашборды и отчеты в интерфейсе Power BI Service

Если вы впервые увидели, что дашборд и отчет – не одно и тоже –  Панели мониторинга для бизнес-пользователей служба Power BI

3. Вероятность того, что вам придётся использовать корпоративный VPN я оцениваю в 100%.

4. Рано или поздно разработчик скажет, что какие-то новые “фишки”, доступные в облачной версии до локальной версии ещё не дошли. Они чаще всего базируются на том, что разработчики уже сделали посредством DAX-костылей;) Поэтому для опытных разработчиков не очень критично.

В целом, обновления для облачной версии выходят каждый месяц, для RS – в январе, мае и сентябре. Однако для серверной версии Power BI требуется полная переустановка. При этом далеко не все администраторы готовы к тому, со всех отделов начнуть звонить с вопросом “где отчёты?”, да и вообще погружаться… Поэтому, есть вероятность, что вы останетесь на той версии, которая была изначально установлена.

5. Вместе с этим – частота возможных обновлений отчёта теперь зависит не от типа лицензии, а от источников данных и того, когда администратор скажет «ну это уже перебор!»;

6. Исчезнет возможность «живых презентаций», когда отчёт можно встроить в Power Point 365 и он кликабелен ;(

7. Отсутствует переход к анализу в Excel – ни разу не видел, чтобы это использовалось;

8. Отсутствие закладок для пользователя – на моём опыте никто их не делал. Однако в целом полезная опция. Позволяла сохранить настройки. Сейчас сохранить настройки и перезагрузить отчёт меня просят по почте и приходится держать меня в штате (:

9. Создание отчетов в браузере для RS отсутствует – я никогда не делал в браузере, не знаю тех, кто делал. 

10. Отсутствие динамических запросов в Power Query – вот это может быть неприятно для тех, кто применял. Я использовал параметризацию – она на месте, а изменение запросов данных в зависимости от тех или иных условий… не доводилось. 

11. Какие-либо шлюзы на сторону Azure для своего сервера, соответственно, не требуется. Тут жирный плюс.

12. Автоматическое обновление страницы при прямом подключении – тоже может бвызывать сложности, то есть на большой монитор гонку KPI вывести сложнее. Конечно можно –  нужен питонист, который напишет скрипт обновления. 

13. Рассылка email – было полезным, функция сохранилась только для PBI Report Builder.

14. Невозможность создания семантической модели с последующим её использованием в другом отчёте – моя личная боль. Напомним “семантической моделью” – начала называться модель данных в облаке. В Report Server если вам нужны разные отчёты на одних и тех же данных придётся дублировать отчеты или разделять это навигацией. 

Кстати, при дублировании – я крайне настойчиво рекомендую проверить, насколько часто у вас будут идти обновления. Не должно быть так, что эти отчеты обновлялись в одно время с одинаковой частотой – сервер данных будет занят обновлением вашего отчёта. Я рекомендую объяснить это пользователям и использовать один общий отчёт, можно к нему применить разделение по ролям…

15. Связь многие ко многим – я никогда не допускаю наличия таких связей, есть возможность или нет.

16. Возможность «проваливаться» в другой отчёт – было удобно из продаж проваливаться в маркетинг. Сейчас нужно совмещать.

17. Python/R скрипты – я не пишу их, кому-то, наверно, будет не хватать. Хотя подготовить данные и визуализировать ничто не мешает.

Более полный список вы найдёте в документации Compare Power BI Report Server and the Power BI service. Я описал наиболее явные.

Ещё одним удобным “наследием” MS SQL Server для PBI Report Server является наличие связки логина в Active Directory. Разработчики добавляют поле, что позволяет удобно связать USERNAME () и настроить RLS. Если вы хотите настраивать RLS с другими системами логин пользователя в Active Directory тоже лучше указывать в вашей учетной системе, даже если у вас просто набор excel файлов. 

Распредление ролей с помощью AD – почти как в мафии 😉

Речь о том, как разделить доступ к вашему отчету на уровне разных пользователей. Active Directory (AD – сисадмины часто так и сокращают) – это данные об объектах в сети, в частности локальной сети предприятия. Ваш удаленный рабочий стол (RDP) имеет своё название в AD, и если продуманный 1С-ник создает поле в 1С ЗУП, то при импорте данных, можно это поле использовать для настроек прав доступа к данным построчно (row level security – RLS). Почему? Потому что юзеры будут иметь доступ только со своего RDP, и логиниться они будут под своим логином AD, и доступы к отчету будут даваться по группам AD и конкретным юзерам AD. Даже с телефона (приложения Power BI Доступны для всех мобильных ОС) как правило, установив VPN можно будет зайти. В результате вы сможете предоставить разным сотрудникам доступ к разным листам отчета, но даже в рамках одного листа можно настроить разное отображение в зависимости от роли сотрудника – к примеру, это может быть общий отчет, который просматривают менеджеры из разных регионов.

Про ресурсы. PBI RS – такой же веб сервис, под который нужно выделять ресурсы. И то сколько их нужно, я пока не встречал нигде. Но правило очень простое – стройте качественные модели данных. Это влияет на потребление гораздо сильнее, чем объем данных и даже производительность сервера. Избегайте мер с большим количеством итераций, заменяйте их мерами, которые возможно потребляют много памяти, то есть используют виртуальные таблицы для вычислений. Но это также лучше продумывать на этапе импорта данных. Многие вычисления, к примеру построчное перемножение, можно переложить на SQL и это сильно облегчит работу с данными.

На этом у меня все!
Спасибо, что дочитали. Алан.

Привет! Я редактор блога Power BI Russia. Я руковожу компанией myBI и в частности сервисом myBI Connect, занимаюсь аналитикой в web около 15 лет. Надеюсь материалы в нашем блоге будут вам полезны полезны!