Отчеты из МойСклад в Power BI

Мой склад - облачный сервис, предназначенный для складского учета. Сервис предоставляет широкий набор возможностей - приемки, отгрузки, перемещения, работа с заказами, работа с клиентами и многое другое.

В данной статье рассмотрим вопрос построения отчетов из сервиса Мой склад в Power BI. Возникает логичный вопрос -  для чего это нужно? В системе Мой склад уже есть ряд отчетов, которые позволяют производить определенную аналитическую работу. 

Но, как в любом облачном сервисе, в стандартных отчетах есть ряд ограничений.

Во первых, стандартные отчеты не обладают достаточной гибкостью, и могут не учитывать все нюансы, которые есть в вашей организации. 

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

В третьих, зачастую при построении отчетов необходима информациях из сторонних сервисов. В этом случае Power BI позволяет выстроить систему аналитики, когда информация запрашивается из разных источников и собирается в одном месте.


Какие отчеты можно построить в Power BI из сервиса Мой склад?


API МойСклад поддерживает работу практически со всеми сущностями, которые есть в сервисе. Отчеты могут содержать информацию по:

  • заказы покупателей

  • заказы поставщику

  • приемки

  • отгрузки

  • перемещения

  • возвраты и т.д.

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

API сервиса поддерживает работу в разных валютах, когда оплата заказов идет, например, в долларах США или Евро. Для конечного пользователя вся информация будет представлена в единой валюте. 

Представление информации возможно как в графическом виде (структура, динамика), так и в виде классических таблиц. 

Мощь и гибкость  Power BI позволяет строить  тот набор отчетов, который необходим Вашей организации. Запрос информации будет происходить в режиме реального времени непосредственно с МойСклад, что не потребует дополнительных финансовых затрат на использование промежуточных сервисов получения информации.


API сервиса МойCклад

На момент написания данной статьи актуальной версией  является JSON API 1.2. 

МойСклад поддерживает аутентификацию по протоколу Basic Auth и с использованием токена доступа. На языке M (язык запросов Power BI) оптимальным, на наш взгляд, является использование токена доступа. При таком методе авторизации вместе с запросом передается заголовок Authorization со значением Bearer <Access-Token>, который настраивается в интерфейсе сервиса.


Ограничения API Мой склад при работе в Power BI.

Как и в  любом API облачных сервисов, в API мой склад есть определенные ограничения. В документации указаны следующие:

-Не более 45 запросов за 3 секундный период от аккаунта

-Не более 5 параллельных запросов от одного пользователя

-Не более 20 параллельных запросов от аккаунта


При построении отчетов в BI системах основной задачей является получение большого объема информации. Информация в режиме онлайн запрашивается из сервиса, на основании нее строятся необходимые отчеты.

Поэтому ключевым является ограничение ограничение на максимальное число объектов (отгрузок, перемещений, заказов), передаваемых в одном массиве в запросе - не более 1000 элементов. О чем это говорит на практике? Если при построении отчетов в вашем сервисе записей больше 1000, то в скрипте на языке M необходимо в цикле последовательно получить данные, а уже потом эти данные объединять для построения отчета. По нашему опыту, получение данных из сервиса Мой склад в Power BI происходит достаточно стабильно, и блокировки, о которых указано выше, не срабатывают. 

Ограничения API при использовании expand. 

Но есть еще одно ограничение, о котором не говорится в документации, но которое следует учитывать. В API есть метод expand, с помощью которого, например,  в запросе можно получить информацию о товарных позициях при получении информации об отгрузках. Это бывает необходимо, когда мы хотим в отчете видеть, какое количество и на какую сумму было отгружено каждого товара в текущем месяце. 

Для того, чтобы метод expand работал, количество позиций в одном запросе  в API1.2 не должно быть больше 100. Чем это грозит на практике? По сути, увеличивается количество запросов при построении отчетов. Вместо одного запроса при 1000 отгрузок в системе  мы должны послать 10, а потом уже объединить данные для построения отчета. Для конечного пользователя в Power BI это приводит лишь к увеличению времени обновления отчета. 

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


В итоге

По нашему опыту автоматизации отчетности в Power BI и системы МойСклад можно выделить следующее:

  • Power BI позволяет строить гибкие отчеты с использованием данных сервиса МойСклад

  • Запрос информации из сервиса производится в режиме реального времени. При получении информации нет необходимости в использовании промежуточных сервисов

  • Power BI при работе с сервисом МойСклад работает стабильно при относительно больших объемах данных (до 10 тыс. записей).

  • Обновление данных при больших объемах информации занимает относительно большой промежуток времени. Но обновление данных не требует участия пользователя.

Заказать услугу

Если вам кажется, что все написанное сложно, и этот инструмент не для вас - доверьте работу профессионалам. Заполните форму ниже, и получите персональное предложение.


Возврат к списку