Кастомные коннекторы VS обычные функции в Power BI

Кастомные коннекторы VS обычные функции в Power BI

Многие слышали про кастомные коннекторы для Power BI в формате MEZ. Это файлы, которые достаточно один раз установить себе на компьютер и вы сможете обращаться к множеству источников, не предусмотренных в базовой версии Power BI. Скачать их можно здесь, это бесплатно: https://github.com/morinad/all_connectors_pq

Однако у mez-файлов есть ряд недостатков, о которых я и хочу рассказать. Я буду перечислять важные аспекты и сравнивать кастомные коннекторы MEZ с обычными функциями в Power Query. Поехали!

Установка и хранение 

Установка кастомных коннекторов - дело нескольких минут. К сожалению многие допускают ошибки или у них просто не обнаруживаются коннекторы. Если у вас не получилось заставить работать кастомные коннекторы - придётся использовать функции. Удобство коннекторов MEZ в том, что их не нужно переносить из отчёта в отчёт. Если они правильно установлены, они доступны из любого pbix-файла. Функции же придётся копировать из файла в файл. Вариант рабочий, но не такой удобный.  

Параметризация

Первый очевидный минус кастомных коннекторов: мы не можем указать параметр при подключении к источнику. 

Почему? Всё просто - набор данных не будет обновляться. Например, вы хотите подключиться к ряду аккаунтов. Задаёте везде начальную дату 2021-06-01, но через пару месяцев решили сменить начальную дату на 2021-07-01. И тут вам приходится заходить в подключение КАЖДОГО аккаунта и править дату руками. Ссылаться на единый параметр даты нельзя.

Это один из главных недостатков MEZ - они не параметризуются. В то время как в функциях всегда можно ввести параметр "Дата Начала" и обращаться к нему во всех запросах. Поменяли значение параметра и вот все отчёты уже тянутся с другой даты. Так что функции всё же довольно удобны.

OAuth Flow

Коннекторы MEZ для Яндекса и Гугла сделаны с использованием OAuth Flow. Это процесс получения доступа к аккаунту с помощью всплывающих окон. Вам достаточно выбрать аккаунт и разрешить приложению доступ, чтобы получить данные в Power BI. OAuth Flow - удобная штука, так как не нужно искать ссылку для получения токена и совершать ряд сложных действий (особенно касается Гугла). Но в этом подходе есть и минусы. 

Первый минус - это необходимость разрешать доступ при каждом изменении запроса. Добавили новый столбец в запрос к системе - разрешите доступ. Изменили дату начала - снова разрешите доступ. И так далее. Это касается только изменений на первом шаге, но всё равно неудобно. 

Второй минус - обычно авторизовываться приходится как в Power BI Desktop, так и в Power BI Service. А если вы зашли в отчёт через какое-то время - возможно вам снова придётся вводить логин-пароль. 

Ну и третий минус - у OAuth Flow иногда слетает работающее обновление в Power BI Service и приходится опять проходить авторизацию. 

В функциях вам придётся перейти по специальной ссылке для получения токена и разрешить доступ к вашему аккаунту. В случае функций для Гугла вам понадобится дополнительная функция для получения второго токена. В целом это чуть сложнее, чем в MEZ, но ничего сверхъестественного. И главное - всё работает и больше никаких авторизаций.

Онлайн-обновление

Надёжность онлайн-обновления у функций выше, чем у MEZ по трём причинам. Про первую я уже писал - это периодически слетающая авторизация MEZ. Вторая причина - стоящая особняком технология использования кастомных коннекторов. И третья - обновление MEZ только через шлюзы.

Коннекторы MEZ подключаются к системе извне - ставятся в специальную папку на вашем компьютере. Это отдельная фишка Power BI и лично у меня до сих пор нет уверенности, что завтра кастомные коннекторы будут также успешно работать. Хоть Microsoft и не планирует от них избавляться, я не верю в них как в надёжный инструмент. Недавно был прецедент внутренней ошибки Power BI Service, которая заблокировала обновление отчётов на MEZ примерно на неделю. Ошибку поправили, но осадок остался.

Другая неприятная особенность кастомных коннекторов - необходимость работающего шлюза. Для обновления отчётов на MEZ нужен персональный (или стандартный) шлюз, так что если ваш компьютер выключен - в онлайне отчёт обновляться не будет. Насколько это неудобно лично вам - не знаю. Если вы часто используете файлы Excel в качестве источника данных и уже развернули вечно работающий сервер со шлюзом - возможно это не проблема.

Безопасность

Что касается безопасности - тут MEZ выигрывают у функций. Всё дело в том, что для функции требуется указать токен прямо в коде - как один из аргументов. Токен - это уже возможность забрать данные, поэтому если кто-то получит ваш файл, он сможет скачать всё, что нужно. В случае MEZ все доступы хранятся в специальном файле у вас на компьютере. При отправке отчёта кому-либо, этот файл остаётся у вас, а доступы потребуется вводить заново.

Соглашусь, что будет странно отправлять злоумышленникам свои файлы pbix, но бывает всякое. Например, вы можете выложить их в Power BI Service и кто-то нежелательный их скачает вместе с токенами. 

Масштабирование

Если объединить всё вышесказанное и представить, что вы хотите массово запускать рекламные отчёты в Power BI, я бы предпочёл обычные функции по ряду причин:

  1. Онлайн-обновление будет слетать очень редко.
  2. Шлюзы не потребуются, комп можно спокойно выключать.
  3. Отчёт будет параметризован и менять его легче.
  4. Файл отчёта можно копировать вместе с функциями.

Где получить функции для всех источников

Если коннекторы MEZ можно скачать бесплатно, то полный набор функций мы даём только в рамках курса, где учим ими пользоваться:  https://directprorf.ru/excel

Функции даются в файле Excel после прохождения первого блока, но вы можете скопировать их в Power BI и использовать там. Также, функции можно задействовать в потоках данных, что ускорит работу самого отчёта pbix.

Чем пользоваться - решать вам. Я бы начал с MEZ, а если кастомные коннекторы вам покажутся полезными и вы решите масштабироваться, то уже взял бы курс. 

Напомню список коннекторов, которыми мы располагаем в текущий момент:

  • Яндекс.Директ
  • Google Ads
  • Яндекс.Метрика
  • Google Analytics
  • Facebook Ads
  • VK Ads
  • MyTarget
  • Calltouch
  • Comagic
  • Alloka
  • Mango Calltracking
  • Primegate
  • Ringostat
  • AppMetrica
  • K50:BI
  • Google Spreadsheets
  • Criteo
  • Callibri
  • Google Search Console

 

 

Комментарии