Вы ведёте учёт в сервисе Мойсклад и хотите строить отчёты на основе данных? Мы сделали коннектор, позволяющий затягивать данные из Мойсклад в Power BI и Excel по API!
Наш коннектор успешно обновляется в Power BI Service. Для обновления бесплатной версии коннектора нужен персональный шлюз, а платная - обновляется без шлюза.
Особенности интеграции Мойсклад
Бесплатную версию коннектора Power BI (.mez) к Мойсклад вместе с описанием можно найти здесь.
В отличие от других коннекторов, Мойсклад даёт возможность получать множество разных таблиц. Все они загружаются похожим образом, меняется только ссылка, по которой мы получаем данные.
В связи с этим я не стал ничего изобретать, а просто добавил ссылку как один из параметров. Если потребуется, вы сможете получить данные, указав свою ссылку.
Если не знаете ссылку - не страшно, в коннекторе уже есть список названий отчётов со встроенными ссылками. Просто выбираете нужный отчёт и забираете данные! Будьте осторожны - отчётов довольно много, так что постарайтесь не запутаться;)
Что еще характерно для подобных коннекторов - пользователь сам разворачивает полученные таблицы. Ведь для такого количества отчётов мне сложно составить списки столбцов. Да и вам удобнее - что захотели, то и развернули.
Мойсклад имеет свойство отдавать данные вложенной структурой - даже в развёрнутой таблице могут быть как вложенные списки, так и вложенные строки. В первую очередь проведите тестовую детализацию и изучите содержимое таких вложенных ячеек. Если вам потребуются вложенные данные - разверните их. Если нет - возможно этот столбец изначально вам не нужен.
Установка коннектора в Power BI
- Скачайте файл Moysklad.mez
- Поместите файл Moysklad.mez в папку C:\Users\USERNAME\Documents\Power BI Desktop\Custom Connectors, подставив USERNAME своего компьютера.
Если у вас есть OneDrive, папка может выглядеть так: C:\Users\USERNAME\OneDrive\Documents\Power BI Desktop\Custom Connectors.
Если папки еще нет, её нужно создать. - Откройте Power BI, зайдите в Файл -> Параметры и настройки -> Параметры -> Глобальные -> Безопасность, выберите "Разрешить загрузку любого расширения без проверок и предупреждений".
- Нажмите на кнопку "Получить данные", в поиске найдите коннектор Moysklad. Выбрвав коннектор, укажите необходимые параметры подключения.
Параметры и получение токена
В коннекторе вы увидите 4 параметра: Что нужно получить, Тип отчёта, URL для получения данных и начальный отступ.
В разворачивающемся списке "что нужно получить" вы увидите 3 пункта:
Токен, Размер выгрузки и собственно выгрузку данных.
Анонсы всех видео, статей и полезностей - в нашем Telegram-канале🔥
Присоединяйтесь, обсуждайте и автоматизируйте!
Как обычно это бывает в коннекторах, сначала нужно получить токен. Для этого в разделе "что нужно получить" выбираем "Токен", а тип отчёта - "Не выбрано" и жмём на "ОК".
Система потребует ввести ключ учётной записи - это будут ваши ЛОГИН:ПАРОЛЬ, разделённые двоеточием. Но прежде, чем ввести логин:пароль, переведите их в кодировку base64. Это можно сделать на любом сайте с кодировками, например тут:
В результате запроса система выдаст вам access_token, который лучше сохранить и который вы будете использовать вместо пары логин:пароль для всех остальных запросов.
Выгрузка и размер выгрузки Мойсклад
Теперь вы можете работать с двумя оставшимися пунктами из "что можно получить" - с выгрузкой и размером выгрузки. Выгрузка - это получение выбранного вами отчёта, а размер выгрузки - получение количества строк в выбранном отчёте.
Прежде, чем получать сам отчёт, я всегда рекомендую проверить количество строк в нём. Поэтому в первом параметре выбираем "Размер выгрузки" и получаем количество строк в будущем отчёте. Если оно в пределах 10 000 строк - можно переходить к загрузке отчёта, поменяв первый параметр на "Выгрузка". Если число строк слишком велико - например, более 20 000 строк - рекомендуется добавить отступ прежде чем переходить к "Выгрузке" .
Отступ - это последний параметр в коннекторе. Он позволяет не забирать весь объем данных, а начать например с 10001-й строки, опустив первые десять тысяч. Отступ нужно ставить кратным тысяче, в противном случае он всё равно округлится. По умолчанию отступ равен нулю, поэтому если вы его не указали - загрузится полный объем данных, а это может занять время.
В типах отчёта уже заложен список допустимых значений, ошибиться тут сложно. У системы Мойсклад список отчётов довольно большой, тем не менее мы постарались заложить большинство из этих отчётов в типы. Если вы нашли нужный отчёт в списке, третий параметр (URL для получения данных) указывать не нужно.
Если же вы не нашли нужный тип отчёта, можно поискать в справке. Найдите в справке пример запроса и скопируйте часть URL, которая идёт после "https://online.moysklad.ru/api/remap/1.2/":
Выберите в типах отчёта "Не выбрано" и вставьте скопированную часть URL в третий параметр - "конец URL для получения данных". Это позволит вам получить данные по указанному URL в обход фиксированного списка отчётов. URL работает только для отчётов, получаемых по методу GET, но другие вам вряд ли встретятся.
Получение данных и сегментирование
При больших объемах данных вы можете долго ждать окончания загрузки. В этом случае можно воспользоваться потоками данных в Power BI по инструкции из статьи.
Отличие коннектора Мойсклад - в отсутствии параметров даты. Мы не можем получать данные за нужные даты, но можем регулировать отступ. Специально для удобной фильтрации в потоках, мы оставили столбец отступов (offset) в выгрузке:
Благодаря отступам, вы можете настроить поток данных на обновление последних 5000 строк, в то время как весь остальной объем данных не будет занимать ресурсы обновления.
Как вы видите по выгрузке, в столбце "data" находятся сами данные в формате списка строк (List - это список, а внутри будут Records- строки). Развернув список (первый разворот), вы получите множество строк. Развернув строки и выбрав нужные столбцы (второй разворот), вы получите сами данные.
Возможно, вам потребуется продолжить разворачивать содержимое ячеек, так как Мойсклад часто отдаёт вложенные данные, об этом я писал выше. Я рекомендую не тратить время и ресурсы Power Query на разворачивание столбца, который скорее всего не потребуется в итоговом отчёте.
Платная версия
Помимо бесплатной mez-версии, мы предоставляем платные версии коннекторов - функции. Коннекторы-функции обладают рядом преимуществ перед mez. Например, они работают в Excel и потоках данных Power BI. Подробнее о преимуществах коннекторов-функций написано в этой статье.
Для пользователей, которые не готовы долго ждать загрузки, настоятельно рекомендую метод из нашей статьи про потоки данных. Потоки данных помогут быстро проводить обновление, а метод инкремента помогает обновлять только последние несколько тысяч строк (не трогая остальные данные).
Для потоков вам понадобится именно функция, а не mez. Напомню, что потоки данных работают только на аккаунтах Power BI Pro и не могут быть созданы в "Моей рабочей области".
Если вам будет интересно полноценно работать с нашими коннекторами, доступ к функциям предоставляется в рамках курса Из API -> в Excel и Power BI.
Буду рад ответить на все ваши вопросы в Telegram;)
Комментарии