BI на практике – Telegram
BI на практике
860 subscribers
16 photos
3 files
25 links
Авторский канал про работу с данными (DWH, DE, BI). Личные кейсы использования различных инструментов и другие материалы

Автор @ivanov_analyst
Download Telegram
Какие специалисты нужны для внедрения BI

Если упростить процесс внедрения и перейти непосредственно к технической реализации, то в большинстве случаев нам нужно решить следующие задачи:

✔️ извлечь данные из разрозненных источников
✔️ организовать единое хранилище данных
✔️ построить витрины данных
✔️ выполнить визуализацию, разработку дашбордов

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

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

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

Что должен уметь и знать один специалист или какие специалисты могут закрыть эти задачи?

Инженер данных – сможет собрать данные из различных источников в единое хранилище, настроить соответствующие потоки данных, обеспечит проверку корректности данных и регулярность обновления/дополнения данными хранилища.

Специалист по хранилищам данных – поможет выбрать хранилище с учетом требований, выполнить его настройку, разработает и реализует в хранилище хранение данных в оптимальном формате (типы столбцов, индексы, распределение ресурсов, слои данных и пр.).

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

Как видим при серьезном подходе к работе с BI в компании нужны специалисты из нескольких областей, это минимум технических специалистов, которые должны решать задчу внедрения и поддержки BI.

Один специалист тоже может справиться с некоторым объемом задач, но нужно принимать во внимание сложность и объемы работы. Возможное решение - разделение на BI аналитика и BI разработчика.

В целом разработка и поддержка BI решения — это сложный процесс, который состоит не только из дашбордов, который, как результат работы, видит бизнес. Огромный объем работ остается скрытым от бизнес-пользователей.


Коллеги, накидайте огонечков чтобы я видел, что вы читаете мои материалы и они вам интересны и полезны. Если есть предложения о чем можно написать – поделитесь идеями в комментариях.
🔥49👍2
Какой основной BI инструмент вы сейчас используете в работе и какой интересен кроме него?
Anonymous Poll
44%
Power BI
12%
Tableau
5%
Qlik
13%
Superset
6%
другие зарубежные BI
8%
Visiology 2
13%
Visiology 3
4%
Analytic Workspace
20%
DataLens
11%
другие российские BI
Один из типов источников - данные в формате JSON

Очень часто используется при работе с API различных систем, из которых, в том числе, необходимо забирать данные для последующей работы с дашбордом. Как правило данные от таких систем возвращаются в JSON формате, но иногда может потребоваться и отправка запроса на получение данных также в этом формате.

JSON - текстовый формат обмена данными, основанный на JavaScript.

Сложного ничего в нем нет. Простая схема: ключ - значение. Могут быть использованы вложенные ключи, что дает возможность построить сложные структуры данных. Пример данных в формате JSON:

{
"artistname" : "Scorpions",
"albums" : [
{
"albumname" : "Humanity",
"year" : "2007"
},
{
"albumname" : "Crazy World",
"year" : "1990"
}
]
}


После того как получены данные в JSON формате (не важно по API или просто прочитан файл) их нужно обработать. Наилучшим вариантом будет сложить все данные в хранилище и уже с ним работать далее (если речь идет про дашборды). Но можно использовать и Python для обработки данных, например для генерации датасета.

Использование JSON формата дает следующие преимущества:

1️⃣ Может использоваться с любым языком программирования. Как правило в них есть встроенные библиотеки для его обработки

2️⃣ Обеспечивает структурированное хранение информации о некотором объекте или объектах

3️⃣ Можно прочитать данные в текстовом редакторе, без использования средств для расшифровки данных
👍63
Как BI специалисту организовать свою работу

Сначала определим из каких основных задач складывается работа BI специалиста:

📌 сбор требований по разработке дашбордов и по доработке существующих
📌 изучение источников информации (данных)
📌 формирование моделей для дашборда (или группы дашбордов)
📌 визуализация данных
📌 презентация своей работы
📌 обучение бизнес заказчиков работе с дашбордом

Понимая, что необходимо в целом делать можно детализировать каждую из задач и исходя из этого выстраивать свою работу.

✔️ Например, если требуется разработка нового дашборда, то обязательно сначала стоит пообщаться с бизнесом, собрать его пожелания и требования, выяснить какие источники информации используются и пр. После этого можно взять время на разработку прототипа дашборда и построение модели, после чего вернуться к бизнесу и показать свои предложения.

✔️ Если поставлена задача по доработке дашборда, то стоит начать с изучения наличия необходимых данных в текущей модели поскольку доработку можно разделить на две группы:

1️⃣ изменить/добавить визуальную составляющую, показатель и пр., что не требует вмешательства в модель и набор дынных
2️⃣ добавить показатель, измерение или фильтр, которых нет в модели

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

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

Если вы работаете на проекте и сами принимаете решение о пуле задач, которые необходимо выполнить у вас должен быть перечень задач, которые находятся в текущем спринте, а также некоторый «запас» задач в случае возникновения «простоя» (например, придется ждать данных)


Если же все задачи закрыты и кажется, что все сделано, то всегда можно заняться оформлением документации по дашбордам
👍16
DataLens скоро будет доступен по подписке!

С 23 апреля появляются два тарифа для использования DataLens. Будет интересно посмотреть на возможности платного тарифа.

Community — для небольших проектов и некоммерческого использования. Это базовая версия сервиса, которая была и остаётся бесплатной для всех, без ограничений на число пользователей и объём данных.

Business — для корпоративных внедрений и бизнес-задач. Среди дополнительных возможностей: приоритетная поддержка, SLA, корпоративные учётные записи и SSO, стилизация UI и другие. За 990 рублей в месяц за активного пользователя.

В информационном сообщении утверждается, что до 1 июня 2024 года можно попробовать тариф Business бесплатно.

Кто что думает по этому вопросу?
🔥2👍1
Какие из этих направлений работы с данными вам интересны?
Anonymous Poll
81%
Business Intelligence (BI)
27%
Data Engineering (DE)
34%
Data Warehouse (DWH)
Бесплатная книга по визуализации данных в Power BI

Коллеги, эксперты по Power BI, подготовили и выложили в открытый доступ книгу по визуализации даных в Power BI. Описанное в ней можно применять не только в Power BI, но и в других инструментах, т.к. правила визуализации едины
👍11🙏2
Fundamentals of Data Visualization. Claus Wilke

Книга задумана как руководство по созданию визуализаций, которые точно отражают данные, рассказывают историю и выглядят профессионально. Оно выросло из моего опыта работы со студентами в моей лаборатории над тысячами визуализаций данных. С годами я заметил, что одни и те же проблемы возникают снова и снова. Я попытался собрать накопленные знания в результате этих взаимодействий в форме этой книги


Одна из лучших книг по визуализации данных. Электронную версию книги можно почитать в свободном доступе на сайте автора
6
6 бесплатных тренажеров по SQL

Сегодня хочу поделиться с вами подборкой тренажеров, где можно бесплатно порешать задачи по SQL (на платном тарифе может быть больше задач и функционала тренажера). Может пригодиться, если вы изучаете SQL, готовитесь к собеседованию или просто хотите освежить этот язык в памяти.

📌 sqltest.online - тренажер с возможностью выбора категории задачи. Например, агрегации, вложенные подзапросы и т.п. При желании можно выбирать задачи по уровю сложности. Задачи на английском языке

📌 sql-ex.ru - наверное самый известный тренажер. Встречал его в рекомендациях по подготовке к собеседованиям во многих компаниях

📌 sql-academy.org - много бесплатных задач. Если знакомы с SQL на среднем и выше уровнях можно найти интересные задачи. При оплате открываются реальные тестовые задачи

📌 itresume.ru - интересные задачи, разные уровни сложности

📌 stepik.org - не совсем тренажер, скорее бесплатный курс с множеством разнообразных задач. Для начинающих и повторения может быть полезен

📌 leetcode.com - мой фаворит, на английском языке. При оформлении подписки дополнительно открываются интересные задачи с реальных тестовых заданий всем известных компаний. Можно посмотреть на решения и обсуждение других пользователей

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


Ведь обычно в своей работе приходится решать однотипные задачи, которые со временем могут быть доведены до автоматизма. А новые задачи потребуют "включить" мышление и по другому посмотреть на использование SQL
🔥9👍6
Как узнать, что нужно изучать для интересующей специализации и быть в курсе потребностей рынка труда?

Данный метод работает не только если вы хотите сменить профиль или специализацию, он помогает оставаться в тренде по текущей позиции и понимать потребности HR рынка.

Например, вам стала интересна специализация дата-инженера или хотите посмотреть, что происходит на рынке BI аналитиков. Заходите на HH, в поиске вводите BI или дата-инженер. На ваш запрос получите ответ в виде списка вакансий. Теперь их можно изучать.

Выбираете подходящую вакансию (лучше выбирать от крупных кампаний), как правило описание вакансии состоит из нескольких блоков, нам из них интересны "Требования к кандидату", "Мы ожидаем от вас" и т.п. Обычно эти блоки оформлены в виде списка требований по знаниям технологий и инструментов, а также описание soft-навыков к кандидату.

Копируйте содержимое блока в любой текстовый редактор. Через 5-10 просмотренных вакансий вы уже будете понимать, что встречается чаще всего, но если продолжаете просмотр, то также продолжайте копировать эти блоки.

После того как просмотрите нужное вам число вакансий (обычно 10-15 вполне хватает), переходите к тому тексту, который у вас получился в результате копирования требований. Далее нужно сгруппировать их по смыслу, например, по названию инструмента или навыку.

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


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

1️⃣ успокоиться, поняв, что вы все знаете )
2️⃣ пойти подтянуть знания, которые вы считаете не достаточными у себя
3️⃣ приступить к изучению новых технологий и инструментов
4️⃣ понять куда движется рынок и подумать как не отстать от него

Чтобы результаты были более точными при разборе вакансий выбирайте из результатов поиска те (либо составляйте запрос так, чтобы получить интересующий вас срез вакансий), которые больше всего соответствуют вашим требованиям. Например, при поиске по запросу Superset вы можете получить вакансии, где ищут специалиста под этот BI инструмент (то, что мы и искали), так и те, где в описании есть формулировка "желателен опыт работы в BI инструментах, например, Superset, Power BI, DataLens и другие" (это не то, но можно тоже посмотреть).

Накидайте 🔥 если публикация была интересна
🔥21
Выполнение реального проекта заказчика

У меня в работе находится интересный проект суть которого в оценке эффективности работы сотрудников компании, предоставляющей консалтинговые услуги.

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

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


В рамках работы от меня требуется:
▫️ разобраться с API системы учета задачи и времени
▫️ спроектировать логическую и физическую модель данных
▫️настроить ETL процесс
▫️сформировать витрины
▫️визуализировать данных

Я решил, что решать задачу буду разными подходами и инструментами. Единственное что пока будет постоянным, это база данных: PostgreSQL

Если вам будет интересно следить за ходом работы по проекту накидайте 🔥 под этим постом
🔥49👍2
Что такое API и для чего его можно использовать

Основным источником информации у меня является сервис, в котором логируется время по выполнению отдельных задач сотрудниками на проектах. Нужно каким-то образом забрать из него необходимую информацию. Как это сделать?

С помощью API. Большинство сервисов предоставляют такую возможность. Через API можно взаимодействовать с ними и получать от них нужные данные.

API – Application Programming Interface, программный интерфейс приложения


Как правило, чтобы получить что-то от сервиса нужно отправить запрос используя API. Для этого необходимо обратиться на некоторый специальный URL адрес с дополнительными параметрами и получить ответ. Делается это с помощью POST или GET метода.

Вот пример фрагмента адреса для получения списка пользователей, в нем нет никаких параметров, он вернет всех пользователей

https://example.kaiten.ru/api/latest/users

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

Чтобы отправлять запросы можно использовать различные инструменты. Например, можно с помощью скрипта на Python или через low-code ETL инструмент. Иногда, можно даже через адресную строку браузера.

Если нужно просто проверить корректность запроса, отладить его или посмотреть, что он возвращает рекомендую использовать специальную программу Postman. В ней очень удобно формировать запросы, указывать методы, параметры запроса и авторизации. О ней мы тоже поговорим позже.

Итак, чтобы забрать откуда-то данные мы можем использовать API системы источника. Формируем запрос - отправляем. Получаем результат, обрабатываем и сохраняем для использования


В следующий раз планирую рассказать, в каком виде приходят данные, при запросах по API. Если интересно, поддержите 🔥

Для решения своей задачи я выбрал Python скрипты, но в развитие темы и вариантов решения помимо этого буду использовать:
- облачные функции
- Apache Airflow
- Apache NiFi
🔥21
JSON — формат обмена и хранения данных

Итак, продолжаем разбирать тему работы с API (начало здесь).

Как правило, ответ на запрос приходит в формате JSON (JavaScript Object Notation). Если очень просто сказать о нем, то это массив данных где данные хранятся в виде пар: ключ : значение.

Можно использовать множество типов данных, от обычных текстовых строк, до сложных структур. Но везде принцип будет прост: зная ключ можем обратиться и получить значение.

Вот пример выпадающего меню для работы с файлом:

{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"val": "New", "click": "New()"},
{"val": "Open", "click": "Open()"},
{"val": "Close", "click": "Close()"}
]
}
}}


JSON используется не только для передачи данных, но и для хранения структурированных данных в файлах, поэтому одной из возможностей BI систем может быть получение данных из таких файлов. Файлы можно хранить как локально, так и размещать в интернете (важно следить за безопасностью!).

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

Работая с JSON файлами лучше использовать редактор, который умеет его форматировать. Если все данные сжать в одну строку, она будет практически не читаема. Я использую Notepad++ , в котором есть плагины упрощающие работу.

Аналогично и при работе с API, например, в Postman можно посмотреть на результат запроса в удобном виде.

Где можно почитать про JSON:

🔗 www.json.org
🔗 ru.wikipedia.org
🔗 developer.mozilla.org
🔗 www.w3schools.com

После того, как результат в формате JSON получен его нужно обработать. Сделать это можно разными способами. Например, в Python есть специализированная библиотека JSON, с помощью которой можно "распарсить" или "разобрать" полученные данные. В следующий раз поговорим об этой теме
👍5🔥2
Как устроена работа с DWH в Lamoda

Data Warehouse (DWH) — это централизованное хранилище данных, агрегирующее данные из разных систем-источников, на которых можно проводить анализ исторических и текущих данных.

DWH состоит из пяти слоев:

▫️ Data Layer (DL)
▫️ Intelligence Layer (IL)
▫️ Business Layer (BL)
▫️ Metadata Layer (ML)
▫️ Operational Data Store (ODS Report)

Читать полностью здесь
👍3
Перенос в prod доработанного дашборда

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

Перенос дашбордов между рабочими областями осуществляется с помощью функциональной возможности Deployment pipeline коллегами, которые отвечают «за порядок» в облачном Power BI Service. Чтобы перенести дашборд с одной рабочей области на продуктивную мне необходимо подготовить запрос для этой команды.

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

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

Не всегда бывает удобно обращаться к ним по вопросу какой-то мелкой доработки, т.к. от них требуется полноценное участие в процессе переноса, не зависимо от объема проделанной мной работы.

Чтобы экономить время коллег обсуждайте изначально с бизнес-пользователями пул доработок, которые необходимо выполнить с дашбордом. Таким образом:
1️⃣ вы будете выполнять больший объем работы по одному из дашбордов
2️⃣ результат будет иметь большую ценность
3️⃣ ресурсы команды будут использоваться более оптимально


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

Кто сталкивался с тем, что часто просят что-то поправить в дашборде ставьте 🔥
🔥9👍1
OLAP - online analytical processing

Если вы работаете с BI или занимаетесь анализом данных, то могли использовать или слышать про OLAP, иногда можно встретить определение как «кубы данных».

OLAP - технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу. Реализации технологии OLAP являются компонентами программных решений класса Business Intelligence.


При использовании OLAP в BI данные содержатся в таких кубах в памяти компьютеров (локального или сервера) за счет чего увеличивается скорость обработки запросов и дашборд перестраивается в режиме реального времени по клику на его различных интерактивных элементах.

Чтобы понять принципы работы таких кубов необходимо изменить подход к хранению данных от привычного реляционного к многомерному. Не всегда это сделать просто, т. к. понятие «куб» условно, на самом деле такая модель может и не быть классическим кубом, какой он представляется в нашем воображении.

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

https://www.youtube.com/watch?v=xD5sbSjAY-Q
ММД-1. OLAP-куб: концепция многомерной модели

https://www.youtube.com/watch?v=1rL1XlS7oK4
ММД-2. OLAP-куб: измерения

Надеюсь они будут полезны и вам
👍11
После некоторого перерыва на следующей неделе планирую публикацию материалов:

- про создание скрипта на Python для ETL процессов
- про библиотеки визуализации данных
- про процесс документирования мер, созданных в Power BI
🔥20👍93
Руководство_пользователя_Суперсет_ТА.pdf
6.1 MB
Где бесплатно изучить Apache Superset?

Хочу поделиться с вами своей подборкой материалов, которые можно использовать для изучения такого BI инструмента как Apache Superset. Советую посмотреть, даже если не планируете пока его использовать, в целом достаточно интересно. Используется на различных проектах как альтернатива тройке мировых лидеров BI инструментов.

1️⃣ Как всегда на первом месте официальная справка

2️⃣ Для тех кто любит видео ролики, открытый курс от Ростелекома

3️⃣ Почитать на русском языке можно в документации у Сбера

4️⃣ А для тех, кто любит локальные pdf файлы, есть руководство (см. вложение)

Если вы еще не знаете, что представляет из себя Apache Superset, то на официальном сайте можно познакомиться с ним
Superset is fast, lightweight, intuitive, and loaded with options that make it easy for users of all skill sets to explore and visualize their data, from simple line charts to highly detailed geospatial charts
🔥12💩1
Сегодня рассуждал о вопросе «Что такое BI?». Как бы я ответил на него, если меня спросили и надо было ответить максимально быстро, но при этом емко.

Интересно узнать ваши варианты ответа на этот вопрос, а после я поделюсь своим и постараюсь раскрыть его.

Напишите свои ответы в комментариях
👍3👎1
BI это данные представленные в графическом в виде

Таков мой ответ на вопрос выше. Любой виджет на дашборде это данные, виджет это вариант их графического представления, коллекция виджетов это дашборд.

Я думаю, что имея такое представление о BI можно понять, что действительно нужно знать и уметь BI специалисту. Ответ содержит два ключевых понятия «данные» и «представление»

1️⃣ Данные. Если говорим о них, то сразу возникает цепочка: источник -> обработка -> хранение. Теперь зная это можно набросать для себя вопросы, что нужно уметь:
- проанализировать источник и понять, что в нем и в каком виде находится
- получить данные из источника
- выполнить трансформацию данных (привести к нужным типам, сгенерировать составные ключи и пр.)
- организовать хранение (хранение «сырых» данных, построение моделей и витрин)

2️⃣ Представление. Правила и способы визуализации данных. Если погружаться в эту тему, то появляются следующие требования:
- подбор нужного типа диаграммы для ответа на поставленный вопрос
- компоновка элементов на дашборде (управление внимание пользователя, выравнивание и т.п.)
- выбор цветов, шрифтов

Конечно это далеко не все, что требуется сегодня от BI специалиста, но не много углубившись в достаточно простой вопрос можно сделать для себя много интересных выводов, а также более широко посмотреть на некоторый предмет или направление
🔥5👍3