Один день из жизни разработчика BI

Проблема

В этой статье мы расскажем вам о типичном дне разработчика бизнес-аналитики. Более конкретно, разработчик, использующий стек платформы данных Microsoft. Если вы рассматриваете возможность изменения карьеры в этом направлении, эта статья даст вам хороший совет и некоторое представление о повседневных обязанностях.

Решение

Конечно, день вымышленный, и все общие задачи собраны вместе. В обычный день вы, возможно, могли бы работать весь день, например, над частью ETL (Extract, Transform, Load — дословно «извлечение, преобразование, загрузка» — один из основных процессов в управлении хранилищами данных), вместо того, чтобы охватывать все задачи сразу.

Проверка журналов

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

Это было особенно важно в дни "ночной пакетной загрузки". Как правило, процессы ETL запускались в нерабочее время, чтобы не нарушать какие-либо бизнес-процессы. Первый человек, прибывший утром, должен был проверить, не произошел ли сбой в этом процессе, чтобы его можно было исправить и перезапустить до того, как деловые люди посмотрят свои отчеты. Бизнес стал более международным из-за глобализации и постоянного присутствия в Интернете, поэтому в настоящее время выполнение пакетного задания в "рабочее время" стало более сложным, поскольку бизнес теперь работает 24/7. В этом случае длинная партия заданий перешла к более коротким заданиям, выполняемым чаще, к микропакетным заданиям, выполняемым почти непрерывно, и, наконец, к управляемым событиями или потоковым данным для анализа данных. Во всех этих случаях мониторинг и ведение журнала имеют решающее значение для обеспечения бесперебойной работы.

Интервью с представителями бизнеса

Убедившись, что все работает так, как ожидалось, мы проводим несколько собеседований с представителями бизнеса, в которых наши коммуникативные навыки и стратегии решения проблем являются ключевыми. Правильно, "деловая" сторона "бизнес-аналитики". Дело не только в написании SQL - запросов и создании отчетов BI в Microsoft Power BI или Tableau, вы должны знать, что на самом деле хочет видеть бизнес в этих отчетах. Во время этих собеседований вы пытаетесь определить, какие отчеты/информационные панели нужны бизнесу (и как они намерены их использовать). О каких данных идет речь, откуда могут взяться эти данные, если вообще требуются какие-либо вычисления и так далее. Разработчик BI в конечном итоге будет много знать о различных процессах, происходящих в компании.

После или во время собеседования вы можете сжать информацию в звездную схему. Каковы соответствующие измерения, каковы таблицы фактов? Хорошей идеей является вовлечение бизнеса в этот процесс моделирования, так как они будут непосредственно использовать его (особенно если они, например, подключаются в реальном времени к модели с помощью сводной таблицы Excel. Они будут напрямую взаимодействовать с измерениями и таблицами фактов).

Конечно, вы можете смоделировать свое хранилище данных в SQL Server, но также в базе данных SQL Azure или управляемом экземпляре Azure.

Многие ИТ - отделы начинают использовать гибкое мышление, когда дело доходит до предоставления программного обеспечения. Бизнес-аналитики немного не хватает по сравнению с "более традиционной" разработкой программного обеспечения, но, к счастью, стало обычным работать с инструментами, поддерживающими гибкую разработку и управление жизненным циклом приложений для проектов BI. Например, Azure Devops поддерживает гибкие платы, рабочие элементы, конвейеры CI/CD, интеграцию git и многое другое.

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

Будь то ETL или ELT, работа с инструментами BI, такими как SSIS, Фабрика данных Azure или базы данных Azure, в какой-то момент данные должны перемещаться из одного источника данных в другую реляционную базу данных. Возможно, и с некоторыми преобразованиями. Как правило, написание ETL и всего, что с ним связано (моделирование данных, манипуляции с данными, качество данных, управление данными, написание SQL-запросов, создание хранилища и т. д.) занимает большую часть проекта. Помимо написания ETL, вам также необходимо автоматизировать его и создать некоторый мониторинг/ведение журнала (как упоминалось в первом абзаце).

Написание SQL является важным аспектом, но в последнее время все большее значение приобретают и другие языки. Например, если вы используете базы данных Azure, вы можете написать Python, Java или Scala. Или, если вы используете функцию Azure для определенной обработки данных, у вас есть еще больше языков на выбор. С другой стороны, некоторые инструменты имеют низкий код (например, службы SSIS) даже для решений без кода (например, приложения логики Azure и фабрика данных Azure). Выбор правильного инструмента для выполнения поставленной задачи всегда будет оставаться очень важным.

Создание модели

Часто семантический слой создается поверх хранилища данных, поскольку это делает гораздо более интуитивно понятным для конечных пользователей разбиение данных на части. Наиболее часто используемыми моделями в настоящее время являются табличные службы Analysis Services и модель Power BI. И то, и другое на самом деле является одной и той же технологией.

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

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

Разработка отчетов и информационных панелей

После всей этой тяжелой работы и кодирования пришло время позволить данным сиять. Вы можете создавать отчеты непосредственно в хранилище данных, например, с помощью построителя отчетов SSRS, или подключиться к модели с помощью Power BI Desktop. Если вы хотите сжать числа, вы также можете использовать Excel для анализа данных из модели.

После завершения визуализации данных вам необходимо найти способ поделиться ими со своей компанией. Собираетесь ли вы использовать сервер отчетов SSRS? Или служба Power BI? А как насчет подписки? Может быть, люди хотят, чтобы их отчет был отправлен им по электронной почте. Есть много вариантов, и вам решать вместе с бизнесом, каковы требования.

Оказание Поддержки

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

  • Пользователи не понимают, как использовать инструмент отчетности, и вам потребуется объяснить им это. Возможно, было бы хорошей идеей создать учебные материалы и техническую документацию для учета повторяющихся вопросов.
  • Там может быть ошибка. ETL выходит из строя, или, возможно, какой-то номер в отчете кажется неправильным. Это зависит от вас, чтобы выяснить, что происходит, и исправить это как можно скорее.
  • Запросы на изменения будут продолжать поступать. Хранилище данных никогда не заканчивается. Возможно, пользователям нужны дополнительные отчеты или панели мониторинга, или они хотят небольших изменений, таких как дополнительный столбец в отчете, другой цвет здесь, больший размер шрифта там.
  • Настройка производительности. Это можно сделать на любом уровне вашего решения для бизнес-аналитики. Отчет может быть медленным ( пользователи быстро сообщат вам об этом), ETL может работать в течение длительного времени или обработка модели занимает целую вечность. Как разработчик BI, вам нужно знать о методах настройки производительности, и вам определенно не помешает знать, как работают индексы.
11
Начать дискуссию