Этого не будет в BI (Купив BI tool, вы этого не получите)

от автора


Введение:

На мой взгляд, одна из основных проблем между бизнес аналитиками и пограммистами баз данных – это их взаимодействие. Многие современные BI решения предлагают, по сути, перенести работу аналитиков на программистов. Либо поднять технический уровень аналитиков, приблизив их к программистам. Вместо этого, я предлагаю рассмотреть решение, которое берет информацию у программистов БД и отдаёт её бизнес-аналитикам. Это решение позволит каждому заниматься своим делом, а не становиться программистом и бизнес аналитиком в одном лице.

Бизнес-анализ для предприятия:

Что такое BI? ― это первая мысль, которая всякий раз возникает у меня в голове, когда я слышу об этом. Это термин, которым пытаются обозначить какой-то конкретный продукт, но само по себе это абстрактное понятие. Как только кто-то говорит, что ему нужно анализировать деятельность предприятия, ему почти наверняка предложат BI.

Рассмотрим само понятие BI.
Business intelligence (BI) — это методы и инструменты для перевода необработанной информации в осмысленную, удобную форму.
Такое определение BI из Википедии не дает ответа вопрос «Что такое BI», потому что непонятно, что такое необработанная информация.

Вот её определение:
Необработанная информация – исходная информация, первичная информация.

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

  1. Автоматизация сбора первичной информации: В современном мире подобная автоматизация введена практически повсеместно. Начиная с платежных терминалов и заканчивая сотрудниками, который вручную ежедневно заносят эту информацию в компьютер.
  2. Хранилище данных (Data Warehouse): Полученную информацию пытаются как-то анализировать, для чего чаще всего создают базу, хранящую сведения за текущий день (OLTP), и отдельно базу, где хранятся сведения за все предыдущие дни (Data Warehouse); по ночам обычно происходит перемещение данных из одной базы в другую.
  3. Анализ данных в хранилище: Накопленную информацию пытаются анализировать, организуя выгрузки из неё, которые сводят в Excel-файл, используя возможности Excel для осмысления полученной информации.
  4. Microsoft Excel как средство аналитики: В помощь аналитикам Microsoft предлагает Power BI, который превращает Excel в очень серьёзный и современный BI-инструмент. Работая с ним, бизнес-аналитики составляют полную картину текущих финансовых процессов организации.

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

  • Microsoft Office
  • OS MS Windows
  • База данных.

Отсюда на вопрос “Нужно ли покупать отдельно BI-инструменты?” ответ скорее Нет, чем Да! Зачем нам системы отчетности, различные порталы бизнес-аналитики и подобные им продукты? Excel и так отлично со всем этим справляется. Теоретически этого действительно вполне достаточно, даже для крупного бизнеса. Но есть причины, которые заставляют искать что-то более подходящее. На мой взгляд, это два узких места в организации бизнес-анализа, которые доставляют определенные неудобства и в худшем случае могут стать причиной того, что информация перестанет поддаваться осмыслению.

“Узкое место” № 1 ― Сбор информации

Сбор информации – это процесс первичного накопления информации и перемещения ее в хранилище. Для успешного решения этой задачи чаще всего:

  1. Разворачивают в организации Базу Данных;
  2. Нанимают людей, которые будут работать с Базой Данных;
  3. Создают либо приобретают средства ввода информации в базу – пользовательские интерфейсы, автоматические перекладчики;
  4. Обучают персонал работе с этими системами;
  5. Обеспечивают поддержку работоспособности всех систем.

На рынке можно найти множество решений, позволяющих существенно упростить задачу сбора информации. Это различные системы, обеспечивающие передачу данных между источниками, такие как Microsoft Integration Services, Informatic и другие. Помимо этого, базы данных становятся более быстрыми и более гибкими, появляются системы типа Big Data. Вследствие этого проблемы со сбором информации вполне решаемы, в отличие от следующей проблемы.

“Узкое место” № 2 – Передача данных из хранилища пользователям

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

  1. Создаются шаблоны Excel-документов, в которых уже предусмотрено подключение к базе и настроены выборки из неё.
  2. Пользователям предоставляется возможность самим писать запросы к базе и выбирать то, что им нужно.
  3. Приобретают систему отчетности, например, Microsoft Reporting Services, SAP BO, Oracle BI и прочие.
  4. Организуют локальные базы данных у пользователей, например, MS Access.

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

Шаблоны Excel-документов

  • С такими шаблонами не очень удобно работать тем, кто их создаёт. Приходится открывать каждый, смотреть селект в нем; помнить пароли на доступ к селекту, чтобы конечный пользователь ничего не поменял.
  • Хранение и доступ к этим шаблонам тоже нужно как-то обеспечить. Можно хранить их в общей папке, можно разработать или приобрести Web-приложение, которое обеспечит доступ ко всему этому. Раньше или позже наступает ситуация, когда отчетов много, что они делают, надо ещё вспомнить.
  • Данных становится очень много, и отчет не может быть открыт вследствие недостатка памяти.
  • Ввод параметров запроса затруднен. Можно в Excel написать VB-script, который предложит их ввести, но для каждого Excel придется писать этот скрипт либо улучшение или исправление этого скрипта надо будет транслировать во все остальные шаблоны.

Пользователи сами пишут запросы к базе

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

Приобрести систему отчетности

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

Системы отчетности отчасти решают эту проблему, но не полностью.

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

У них есть также и другие недостатки:

  • При выгрузке в Excel информация может нарушиться, «съедет» форматирование, изменятся типы колонок и т.п.
  • Отчет, который быстро работает в Web, в Excel работает очень медленно либо «ломается».
  • Отчеты, на выполнение которых требуется много времени (более получаса), могут не завершиться из-за достижения максимального времени ожидания.
  • Попытка выгрузить большие объемы информации может привести к нехватке памяти на сервере, что потенциально может привести к его остановке, либо отчет сформируется в Web, но не сможет быть выгружен в Excel. Существуют различные способы обхода этих проблем, такие как выгрузка в CSV, частичная передача информации и пр., но все они неудобны с точки зрения пользователя и требуют от него повышенной внимательности, аккуратности и дополнительных знаний.

На мой взгляд, описанные системы больше подходят для отображения данных, а не для передачи их пользователям. Их можно сравнить с красивой витриной, данные в которой можно смотреть, но сложно “потрогать”.

Локальные базы данных у пользователей

Такое решение, на мой взгляд, громоздкое и совсем не оптимальное, хотя, возможно, в будущем оно может стать актуальным. В голову пришел лозунг: “Каждому аналитику по базе данных!”

Что хочет пользователь

image

Основная проблема для пользователей – это отсутствие удобной и надежной системы передачи пользователям данных из хранилища. Бизнес-аналитики чаще всего пользуются Excel для своих расчетов, поэтому передавать данные надо в формате Excel. К сожалению, удобного решения я не встречал, приходилось делать что-то комбинированное – часть данных передавать в отчетах, что-то передавать в Excel-шаблонах, внедрять OLAP-кубы и похожие на них серверные решения. Также использовались CSV-файлы и пользовательские базы данных на Microsoft Access. Активно пользовались кэшированием отчетов и отложенным выполнением. Параллельно приходилось рассматривать решения, которые появлялись на рынке, с целью их внедрения. В итоге получился небольшой «зоопарк» из различных подходов и решений. Для того чтобы уйти от этого зоопарка, надо посмотреть на постановку вопроса от пользователя: “Обеспечить передачу информации от хранилища пользователю в формате Excel!” и решить конкретно эту задачу, не пытаясь расширить и улучшить инструментарий, которым пользуются бизнес-аналитики. Отсюда, изучив тонкости работы Excel и скачав OpenXML SDK, я написал приложение, которое формирует отчеты непосредственно в Exсel-файлах. То, как оно работает, можно посмотреть по следующей ссылке: Пример такой системы. Создать его несложно, как и довести до уровня коммерческого решения. Оно может выгружать сколь угодно большие объемы информации и также ждать неограниченное время, пока запросы выполняются в базе данных. Для этого использовались SAX-модель документа и потоковая передача данных.

Вывод

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

ссылка на оригинал статьи https://habrahabr.ru/post/281703/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *