BI - системы. Системы BI и их функции Проект внедрения Power BI
Чтобы создавать понятные отчеты и обновлять их в режиме реального времени современному бизнесу необходим мощный сервис для обработки информации. В комментариях к моим предыдущим читатели неоднократно просили написать мануал по работе с Microsoft Power BI. В этой статье я расскажу, как начать работу с данной платформой.
Кратко о возможностях Microsoft Power BI
Power BI — достаточно мощная и при этом бесплатная BI-платформа. Microsoft вкладывает много средств в развитие этого продукта, в связи с чем часто выходят обновления, расширяющие ее возможности. Вы можете использовать такие версии программы:
- Power BI Desktop предназначен для разработки модели данных и отчетов;
- Power BI Service — онлайн-аналог, который специализируется на мониторинге и анализе готовых отчетов, поэтому возможности конструирования и работы с данными там очень ограничены.
Как правило, декстопная версия используется в качестве конструктора, после чего разработанный файл публикуется в Power BI Service . Для дальнейшей работы скачайте Power BI Desktop по этой ссылке .
Для пользователей Microsoft Windows 10 есть отдельная версия Power BI Desktop, которую вы можете найти, перейдя по этой ссылке.
Откуда можно загружать данные?
Power BI имеет множество встроенных коннекторов к различным сервисам и базам данных, с помощью которых вы в считанные минуты можете загрузить в программу нужный набор данных из различных источников, связать их между собой и построить консолидированные отчеты и диаграммы. На момент написания статьи все доступные коннекторы распределены на четыре группы:
1. Группа «Файл»:
Как видите, в Power BI можно импортировать данные из наиболее известных баз данных и сервисов, используя различные форматы файлов. После загрузки информации из доступных источников в Power BI, перед вами открываются большие возможности по очистке и преобразованию данных, в связи с тем, что в платформе присутствует достаточно мощный ETL функционал. Загружаемые таблицы можно редактировать, а на основе их столбцов создавать расчетные столбцы и меры — таким образом вы можете преобразовать массивы информации в наборы данных со структурой, необходимой для построения визуализации.
Сформировав набор данных, загруженных из различных источников, вам станут доступны множество встроенных элементов визуализации:
- линейчатая диаграмма с накоплением;
- гистограмма с накоплением;
- линейчатая диаграмма с группировкой;
- гистограмма с группировкой;
- нормированная линейчатая диаграмма;
- нормированная гистограмма;
- график;
- диаграмма с областями;
- диаграмма с областями с накоплением;
- линейная гистограмма и гистограмма с накоплением;
- линейная гистограмма и гистограмма с группировкой;
- каскадная диаграмма;
- точечная диаграмма;
- круговая диаграмма;
- диаграмма дерева;
- карта;
- таблица;
- матрица;
- заполненная карта;
- воронка;
- датчик;
- многострочная карточка;
- карточка;
- ключевой показатель эффективности;
- срез;
- кольцевой график;
- визуальный элемент r-script (на данный момент включается в параметрах программы).
Все элементы имеют достаточно широкий спектр настроек, направленных на изменение нужных параметров: цвет, фон, название, границы и так далее. Если вам будет недостаточно стандартного набора, можно загрузить пользовательские визуальные элементы.
Продолжаем нашу эпопею с мобильным миром. И сегодня я хочу поговорить о вот таком вот продукте Microsoft Power BI .
Что есть такое Microsoft Power BI ?
А это служба бизнес-аналитики для совместного доступа, управления и использования запросов данных и книг Excel, которые содержат запросы данных, модели данных и отчеты.
Естественно, что раз есть место, где мы отчеты пишем, значит, должно быть место, где мы их смотрим. И таких мест несколько:
- 1. Сама среда, где мы их пишем. Ну это логично, но полезно только нам;
- 2. Веб-интерфейс;
- 3. iOS устройства;
- 4. Windows устройства, могут установить в стиле метро. Те, у кого Win 8/8.1. Смотрится реально футуристично, особенно на больших мониторах.
- 5. Android устройства. « Android app is on the way ». Ждем.
Логика работы
Давайте сначала объясню логику работы, чтобы потом было понятней - почему делаем так, а не иначе. Всю разработку можно разбить на несколько этапов:
- 1. Регистрацию аккаунта. можно посмотреть цены, но есть и бесплатная версия, так что тестировать можно. Конечно, для запада цена в 10$ с пользователя в месяц - это мелочь, а вот для наших стран - это-таки немало. Хотя опять же, даже если взять фирму в 500 человек, скольким сотрудникам понадобится такой функционал?
- При регистрации учтите один момент - она выполняется слева внизу, где указываете почту. Если зайти в Sign in - там только авторизация.
- 2. Необходимо запустить конфигуратор Power BI Designer, тот, который вы скачали ранее.
- 3. В конфигураторе мы делаем все, что мы хотим, формируем внешний вид и т.д., потом сохраняем файл проекта.
- 4. Теперь файл проекта нам надо подтянуть в нашу учетку, чтобы изменения сохранились там.
- 5. Авторизуясь под своим аккаунтом на мобильном устройстве или в клиенте для Windows - подхватываются ваши настройки.
- 6. Получить удовольствие.
Работа с конфигуратором
Теперь давайте разберемся с тем, как все-таки строить отчеты и как получать данные?
Получение данных
При первом открытии вас встретит помощник. Закрываем его. И удаляем все лишнее. У нас должно остаться только вот такое вот окошко:
Пока не будем вдаваться в подробности о назначении всех кнопочек. А попробуем ответить на вопрос - как нам получить данные?
В погоне за ответом мы должны нажать кнопку «Get Data », - та, что слева вверху, нас встретит вот такой диалог:
Как видите - список потенциальных источников просто огромен. Однако, мы возьмем вариант получения данных при помощи OData , видь он есть у нас в 1С, а мы его обычно не используем. Давайте вот его и применим. Более детально про него можно почитать тут:
- 1. ИТС
Первое, что нам надо сделать - это, конечно же, найти донора, т.е. базу, из которой мы будем все эти данные тащить.
Есть несколько вариантов:
- 1. Поднять свой веб-сервер, и данные тащить оттуда. Но такой вариант неудобен для обучения, так как я свой сервер не дам в публичный доступ.
- 2. Пойти на сайт 1С , где есть демо-конфигурации, и попытать счастья там, в надежде, что хоть в одной из них открыт OData . Убедиться, что это не так, и закрыть сайт.
- 3. Пойти на англоязычный сайт 1С , присмотреть там какую-то базу, у которой открыт доступ через OData . И найти такую.
Итак, останавливаемся на УНФ, проверить, что OData доступен, можно вот таким путем:
Если вы там видите список метаданных, то все ок.
Теперь давайте проверим справочник, например, справочник товаров:
Как видите, мы к первому адресу просто прибавили имя справочника и обозначение, что это справочник, в русскоязычных конфигураторах он бы выглядел вот так:
Когда мы перейдем по этому URL , мы должны увидеть xml , который будет описывать каждый элемент справочника, однако, все зависит от браузера, FireFox выводит эти данные в виде RSS ленты. Но сути это не меняет.
Если же у вас, при подключении к вашей базе, появилось сообщение о том, что не найдена сущность, то вам сюда .
Идем далее. Надо поставить какую-то задачу, чтобы была конечная цель. Однако, пока мы не познакомились с функционалом - это сложно. Поэтому я предлагаю пока ограничиться одной элементарной вещью - выведем продажи в разрезах товаров и контрагентов. Ну, может, еще чего. Для СКД это задача простейшая, однако тут есть некоторые нюансы.
Итак, первым делом - нам надо понять, где хранятся продажи. Они точно хранятся в регистре накоплений, а этот регистр обозначается в OData , как AccumulationRegister. Вот их и ищем. Нам в этом помогут элементарные знания инглиша. А вот и наш регистр AccumulationRegister_Sales. Проверяем:
Если видим xml , то все ок.
Теперь идем в наш BI конфигуратор, выбираем в нем строку с OData , ту, что я выделил желтым на скрине выше и жмем Connect , далее заполняем все, что надо:
Теперь нас встретит следующее окно:
Тут нам сообщается о том, что у нас не указана авторизация. Надо указать. Причем обратите внимание, вы авторизацию можете указать как в целом для домена, так и для конкретного адреса, как указать авторизацию для конкретной базы - я не нашел, но это нам сейчас и не важно.
Указываем логин без пароля и жмем connect . Должна начаться загрузка данных. После нее - у вас появятся слева поля:
Доступные поля отображаются справа вверху, сейчас их только два.
Слева внизу - вы переключаетесь между отчетами и данными, из которых отчеты строятся. В нашем случае - это запросы.
Слева вверху - страницы с отчетами, т.е. на одной странице (а-ля макет 1С) может быть много разных данных.
Теперь надо разобраться, почему это у нас всего два поля, видь измерений, реквизитов, ресурсов у нас явно больше. Давайте перейдем в запросы:
Это окно работы с запросами. Слева вверху будут доступны все запросы, которые вы добавите.
По центру сверху - строка подключения. По сути - это текст запроса, тут указываются и отборы, и пути и т.д.
Справа у нас идет название запроса и последовательность шагов.
Вот на последовательности мы немного поговорим. Суть ее сводится к тому, что мы описываем в ней пошагово правила, которые хотим применить к нашим данным. Т.е. если вы хотите удалить колонку, то надо указать в каком времени - это будет шаг номер 2, или номер 10. Дальше станет понятней.
Итак, у нас есть всего три колонки. С чем это связано? Давайте внимательно посмотрим на xml , который нам отдает 1С и найдем то место, где начинается список, т.е. в случае OData нам возвращается не построчное представление регистра, как мы привыкли, а выводится сначала информация о регистраторе, а потом уже вложены в него его движения.
Ну а нас интересуют именно эти строки. Давайте теперь выделим любой элемент в средней колонке и внизу увидим вот такое сообщение:
А должны были бы увидеть зачения, но не увидим. Для того чтобы увидеть - нам надо развернуть массив в строки. Для этого нажимаем кнопочку, которая справа вверху в заголовке средней колонки, я ее на скрине выделил желтым, и запомните - у нас сейчас 18 строк, нажимаем:
Теперь у нас 50 строк. Т.е. мы развернули все построчно, а ранее было сгруппировано по регистратору, если говорить словами 1С.
Но нас это не устраивает, нам мало колонок, я думаю, вы догадались, что надо сделать - жмем еще раз на ту кнопку в заголовке:
А вот теперь мы выбираем - что мы хотим добавить, т.е. по аналогии с запросом в 1С - выбираем поля, которыми мы потом хотим оперировать:
И жмем ОК:
Обратите внимание - у нас справа заполнился список действий, т.е. в нашем случае действия такие:
- 1. Получить данные;
- 2. Развернуть данные;
- 3. Развернуть данные.
И сразу обратите внимание на формулу вверху.
Теперь нам надо решить проблему, потому что нас совсем не устраивает наименование товара в виде UID . Я сомневаюсь, что такой вид будет информативен.
Значит, нам надо теперь вывести информацию по товару, давайте мы это сделаем объединением таблиц товара и продаж.
Для этого - добавляем новый запрос, но уже к справочнику товаров http://apps.1c-dn.com/sb/odata/standard.odata/Catalog_Nomenclature , точно так же, как и продаж, и переименуем эти таблицы, чтобы не путаться:
Обратите внимание - я сразу применил несколько шагов к данным о товаре, а именно:
- 1. Получил данные:
- = OData.Feed("http://apps.1c-dn.com/sb/odata/standard.odata/Catalog_Nomenclature")
- 2. Удалил лишние колонки:
- = Table.RemoveColumns(Source ,{"SKU", "ChangeDate", "WriteOffMethod", "DescriptionFull", "BusinessActivity_Key", "Vendor_Key", "Cell_Key", "Comment", "OrderCompletionTerm", "TimeNorm", "FixedCost", "CountryOfOrigin_Key", "PictureFile_Key", "Parent_Key", "DataVersion"})
- 3. Отфильтровал записи, убрал все группы:
- = Table.SelectRows(#"Removed Columns" , each ( = false))
Выше - это запросы, которые можно вставить в верхнюю строку и таким образом не делать руками это все. Обратите внимание на структуру этого всего - на первом шаге мы просто получаем данные. На втором шаге - мы указываем, что мы делаем с данными, которые мы получили в первом шаге. На третьем - мы указываем опять имя шага, к которому мы применим правило для фильтрации.
Т.е. мы всегда должны указывать, к какому шагу мы применяем то или иное правило.
- 1. Просто взять и сделать объединения по типу связей в 1С, когда мы объединяем две таблицы.
- 2. Добавить в одну из таблиц нужные нам данные из другой.
Мы их разберем оба. Итак. Сначала мы просто делаем объединение. Для этого идем на вкладку Отчеты (слева внизу) и нажимаем кнопку Manage :
И настраиваем связи:
Ну и, наконец-то, давайте выведем любой отчет... а хотя нет, еще рано. Давайте переименуем поля в такие, чтобы было понятно, что за что отвечает. Для этого возвращаемся в запросы и переименовываем все, что нам надо, просто нажимая правой кнопкой на колонке и Rename или два раза по ней. Не забудьте потом перепроверить связи таблиц.
А теперь идем уже строить отчеты:
Как видите - отчеты выглядят очень даже симпатично, особенно - сама идея того, что можно просто взять и связать кучу графиков друг с другом.
Теперь давайте попробуем еще добавить сюда номенклатурные группы товара. По идее, надо было бы добавить еще один запрос с номенклатурными группами и связать их с полем NomenclatureGroup_Key в запросе номенклатур. Однако нам это не понадобится. Идем в самый конец, смотрим на последние колонки в запросе Номенклатура.
И вас встретит ошибка, и это, скорее всего, баг платформы, на которой опубликована эта база, так как на последних платформах - все ок. Поэтому тестируйте у себя. Но суть в том, что тут появятся названия номенклатурных групп.
Перенос данных на свою учетку
После всего этого - сохраняем полученный нами отчет. Он, кстати, прикреплен к статье. Так что можете его скачать из прикрепленных файлов к этой статье.
Нажимаем Get Data , выбираем пункт Power BI Designer File и жмем Connect , далее выбираем файл и еще раз жмем Connect .
А теперь давайте зайдем в приложение iOS и посмотрим, как оно выглядит там:
Вот и все.
Итог
В итогах хочу сказать лишь одно - не надо ограничиваться только возможностями 1С, ведь 1С - это, во-первых - база данных. Так что красивости - это уже для других решений.
Если хорошо знать OData , то сделать такого рода отчет можно за несколько минут. И кроме этого - для простоты работы и меньшей нагрузки на БД можно просто создать отдельный регистр сведений, куда скидывать сразу всю нужную информацию, а этим решением забирать ее и выводить.
В чем приимущество использования данного решения? Все очень просто: получить готовый результат можно через пару часов времени. Все бесплатно (конечно есть ряд ограничений в бесплатной версии, но я думаю, и ее многим хватит за глаза).
Все, что надо для того, чтобы приступить к работе - установить веб-сервер, обновить платформу до 8.3.6 (может и с 8.3.5 будет работать, я не тестил, главное, чтобы там не было багов в платформе), вытянуть данные и скомпоновать их.
Т.е. для программиста это займет от силы несколько часов. А результат - отличный.
P.S. Не забудьте про безопасность данных!
Smart 1C - продукт интеграции программ семейства 1С с облачной системой бизнес-аналитики Power BI. Выше вы уже могли кликнуть и ознакомиться с демо-версией одного из наших отчетов, построенных на данных 1С. 1С - популярная программа для учета операций в бизнесе. Однако отчеты, которые можно сделать в 1С, не могут в полной мере удовлетворить потребности руководителя в аналитике.
Решения Smart 1C будут полезны предпринимателям и бизнесменам, у которых учет ведется в программе 1С. Польза заключается в том, что ручной труд по сбору данных из 1С и подготовке отчетов будет автоматизирован. А настроенные отчеты - автоматически обновляться до 8-ми раз в день. К тому же все отчеты будут находиться на единой информационной панели Power BI.
Как внедрить в свой бизнес
Интеграцию 1С и Power BI можно производить как собственными силами, так и привлекая сторонних разработчиков.
Первый вариант подходит крупному бизнесу, который имеет в штате квалифицированных специалистов таких направлений: программист 1С (язык 1С, регистры сведений, протокол oData, http-сервис и др.), разработчик Power BI (язык M Query, запросы DAX, OLAP-моделирование и др.) и аналитик, который и будет отчеты.
Второй вариант - это привлечение внешних разработчиков. Например, компанию SMART METRIKA. В этом случае BI настраивают наши специалисты, уже имеющие опыт в этом деле. Сбор, преобразование и передача потока данных в веб-службу Power BI - по сути основа будущей системы. Визуализация данных, т.е. построение отчетности, обычно делается под задачи каждого конкретного бизнеса. Такие отчеты, как PnL (о прибылях и убытках), CashFlow (о движении денег), динамка дебиторской и кредиторской задолженности, анализ продаж, затрат и прибыли, точка безубыточности, наиболее востребованы руководителями. Хотя вывести в Power BI можно любые данные, которые есть в 1С.
Как быстро происходит внедрение
Время реализации проекта определяется в первую очередь аналитикой, которая нужна бизнесу. Понимание всех аналитических срезов и показателей дает информацию о том, какие данные нужно забирать из 1С. Небольшие проекты могут быть выполнены за 2 недели (участвуют 3 специалиста), сложные - 1-2 месяца. Важный фактор, влияющий на время выполнения проекта, - это соответствие запрашиваемой аналитики с источником данных - 1С. Окончательный срок и дедлайн выполнения проекта может быть назван определенно при наличии составленного технического задания.
Сервис и аналитическая поддержка
Важной составляющей любого нашего внедрения является обслуживание системы после сдачи проекта по требованию. Для наших клиентов мы всегда остаемся на связи и при первой необходимости помогаем решить вопрос или сделать доработку.
Давайте обсудим?
Предлагаем вам прямо сейчас обсудить с нами необходимость BI для вашего бизнеса. Это поможет лучше осознать - нужна вам эта система или нет. Просто нажмите на кнопку Обсудить и заполните форму. Мы ждем вас!
Business intelligence или сокращенно BI - бизнес-анализ, бизнес-аналитика. Под этим понятием чаще всего подразумевают программное обеспечение, созданное для помощи руководителю в анализе информации о своей компании и её окружении. По определению авторитетной консалтинговой компании IDC: BI – это «инструменты и приложения для поиска, анализа, моделирования и доставки информации, необходимой для принятия решений».
BI – системы реализуют информационный подход к моделированию (модель «от данных»), т.е. отправной точкой при бизнес-анализе являются данные, характеризующие исследуемый объект, и модель «подстраивается» под действительность. Как правило, современные предприятия оперируют огромными массивами данных в электронном виде (1С, Excel, Word, СУБД и т.д.), однако быстрая обработка, сопоставление этих данных и поиск зависимостей для принятия управленческих решений, часто не возможна. Решать такие задачи призваны системы бизнес-анализа.
BI – системы выполняют извлечение, преобразование, очистку, консолидацию, структурирование и визуализацию данных. Кроме того, по специальным алгоритмам они преобразуют эти данные в знания, т.е. выявляют и визуализируют не очевидные связи между данными и выдают прогноз.
Мы предлагаем лучшие решения на рынке BI России для коммерческих организаций – систему QlickVeiw и специальное приложение БИТ.Коннектор QlickVeiw к 1С , которые в совокупности позволяют решать весь спектр задач стоящих перед BI-системами.
Сразу оговорюсь, что данная статья не претендует на статус полного руководства. Скорее, является личным опытом визуализации управленческих данных.
Понятие «аналитика» обладает большим количеством определений. Одно из них: «Аналитика - это процесс получения знаний и новых данных на основе фактов». С точки зрения бизнеса аналитика позволяет получить массу новой информации из огромного количества данных, которые формируются при ведении деятельности предприятия.
Визуализация этих данных позволяет упростить процесс восприятия.
При этом не всегда все необходимые источники данных заключены в единой учетной системе. Бюджет может формироваться в Excel, информация по отгрузкам и по запросам от клиентов может быть доступна в тестовых форматах, метрики посетителей сайта - через веб-портал и т. д. Как все это увязать в единую «панель управления предприятием»? Microsoft Power BI способна помочь в решении данной задачи.
Ниже описаны процесс подключения 1С в качестве источника данных и настройка взаимосвязей с другими информационными системами.
Нам понадобятся:
- 1С:Управление торговлей, опубликованная и доступная из сети Интернет - будем использовать 1С, развернутую в Azure.
- Действующая подписка на Microsoft Power BI.
- Дополнительный источник данных, который будем связывать с данными из 1С - возьмем Excel-файл.
Публикация информационной базы 1С
Прежде, чем мы сделаем данные доступными для Power BI, необходимо предоставить веб-доступ к информационной базе, а, точнее, к интерфейсу OData. Для этого опубликуем информационную базу с аутентификацией через операционную систему.
Запускаем 1С в режиме «Конфигуратор» с правами локального администратора и переходим в Администрирование - публикация веб-расширения. Включаем авторизацию через Windows.
Теперь необходимо запустить 1С:Предприятие и перейти «Все функции» - «Обработки» - «Настройка автоматического REST-сервиса».
В данной обработке необходимо просто отметить нужные объекты и нажать кнопку «Сохранить и закрыть». Данная обработка стандартная и входит во все типовые конфигурации 1С.
Ищем и отмечаем в списке данные, которые мы планируем анализировать в Power BI. Например, Справочники - Партнеры, Документы - Заказы клиента и т. д.
Public-host-name - внешнее DNS-имя или IP-адрес сервера.
BaseName - имя информационной базы, которое мы использовали при публикации.
Document_РеализацияТоваровУслуг_Товары - данные, которые предоставляются из 1С. Это могут быть справочники, регистры и т. д.
Подключаем источники в Power BI
Теперь запускаем Power BI Desktop. Программа доступна через портал https://powerbi.microsoft.com/ после успешной регистрации и авторизации.
Скачиваем, устанавливаем и запускаем.
Подключим необходимые источники данных. Для этого необходимо нажать «Подключить данные» на панели инструментов и выбрать канал OData:
Нажав кнопку «Ok», необходимо указать данные авторизации. Далее мы увидим часть полученных данных.
Нажав кнопку «Изменить», мы попадем в редактор запроса, где можем модернизировать данные и добавить необходимые вычисления с помощью языка DAX.
После добавления нескольких источников необходимо настроить взаимосвязи между данными. Для этого переходим в режим Представления связей.
Добавление других источников
Аналогичным образом мы можем добавить другие источники данных, например, файл Excel. Делается это также через меню Получить данные.
В качестве других источников мы можем использовать огромное количество вариантов:
После подключения всех источников и создания связей между данными можно приступить к визуализации информации.
Визуализация данных
В главном окне Power BI на панели инструментов выбираем элемент визуализации.
Перетаскивая нужные поля в параметры элемента, получаем визуальное представление данных.
После создания необходимого отчета можно перейти к его публикации. Для этого просто нажимаем кнопку «Опубликовать» и выбираем рабочую область, в которой необходимо разместить отчет.
Когда процесс публикации закончится, система выдаст ссылку для просмотра отчета в браузере. Теперь отчет можно сделать доступным для всех или только определенному кругу лиц.
От себя добавлю, что данный инструмент позволил нашей компании получить ряд знаний о нас и наших клиентах. Примером может служить понимание географии клиентов, выделение «золотых» партнеров, перегруженных сотрудников и т. д.