14 июля 2018 г.

15 примеров визуализации данных

Визуализация данных становится все более востребованной из-за быстрого роста количества данных и их широкого применения в различных сферах жизнедеятельности. Информация должна быть представлена в структурированном виде, чтобы пользователи могли использовать ее для выявления трендов, анализа и принятия решений.
Сейчас широко применяются 2 различных метода визуализации данных: исследование, которое позволяет понять смысл и цель ваших данных, и объяснение, которое пересказывает историю данных пользователям. Для того, чтобы удовлетворить большинство ожиданий вашей аудитории, вы должны рассмотреть оба метода. К счастью, существует множество практических и интересных способов наглядного представления данных.

22 апреля 2018 г.

5 шагов погружения в DWBI

перевод статьи Vincent Rainardi

 Этап 1. Составление отчетов (Стоимость: £25 тыс./год. Длительность: 2-3 года)

В большинстве компаний BI-подразделение начиналось с одного сотрудника IT-отдела, занимающегося составлением отчетов. IT-отделу ставилась задача – подготовить сводный бизнес-отчет для какого-либо собрания на основе информации из базы данных. Отчет формировался с помощью встроенных средств отчетности – SSRS, Jasper или Crystal. Тогда никто ничего не слышал о Business Intelligence. Руководству требовался просто «Отчет», не BI и даже не Management Information.

Компания, состоящая из 100 сотрудников и имеющая годовой оборот в размере 5 млн. фунтов стерлингов, обходилась IT-отделом, в котором было всего 5 человек. Они в основном занимались технической поддержкой – Exchange и Email, администрированием файлового и SQL-серверов, локальной сети. Подготовка отчета для них была всего лишь одной из множества задач.

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

Сколько это стоит? Расходы на этом этапе составляют около 20-25 тыс. фунтов стерлингов в год.

Читать далее...

10 декабря 2017 г.

Создание отчета в Pentaho Report Designer

Данный пост о создании печатных форм в Pentaho Report Designer – Open Source дизайнере отчетов. Для примера взята форма отчета «Отчет о кредитах, выданных нерезидентам (форма 17-ПБ)», который банки Казахстана сдают в Национальный банк, в рамках регуляторной отчетности.

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

Создаем новый отчет, в свойствах отчета указываем название:



Как и в других конструкторах, структура отчета состоит из полос (band): Заголовок Отчета, Заголовок Страницы, Детали, Подвал Страницы, Подвал Отчета. При необходимости можно добавить группировку строк по какому-то признаку, соответственно тогда возникнут полосы Заголовок Группы и Подвал Группы. Для отображения групповых полос необходимо будет снять галку «Скрыть элемент» с этой группы в панели Структуры документа.



Далее размещаем все компоненты (поля) отчета на соответствующих полосах. Для текстовых полей соответственно текстовые компоненты, для числовых – числовые, и так далее. Задаем границы элементов. Для того, чтобы одним махом изменять свойства нескольких элементов – в Структуре документа выделяем их всех через Shift. На картинке у всех выделенных элементов изменено свойство Левая граница, на «Одинарная». Для того, чтобы сбросить свойство, кликаем галку Унаследовано.



Так как в текстовых полях длина текста может быть различной, и текст может переходить на вторую или третью строку, то высоту всех элементов на полосе Детали задаем как 100% от допустимой. В этом случае тот элемент, в котором длинный текст увеличил высоту, растянет полосу по высоте, и все остальные элементы на полосе так же растянутся. Для указания высоты в 100% нужно просто вбить текст «100%», с единицами измерения разработчики не стали заморачиваться.



Далее, на вкладке Данные добавляем датасет, из которого выводятся данные в отчет.



С большинством распространенных баз данных система соединяется прямо «из коробки», но для некоторых баз данных нужно доложить коннектор в папку C:\...\report-designer\lib.

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



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

В JDBC коннекторе к MySQL, до недавних пор, наблюдался глюк, список полей под датасетом не появлялся, пока в тело SQL-запроса датасета не добавить команду LIMIT. Количество строк в LIMIT не имело значения, например, 1 000 000 000, но сама команда LIMIT должна была присутствовать. Данный баг исправили недавно, например, в текущем коннекторе mysql-connector-java-5.1.44-bin.jar такого бага уже нет.

Отчет строится за какой-то период, соответственно в отчет нужно передать Дата_От и Дата_По. Под датасетом есть раздел Параметры, добавляем параметр dl_from, и аналогично dl_to.



Параметры вставляем в текст SQL запроса в фигурных скобках:
SELECT … FROM … WHERE … = ${dt_from} … = ${dt_to}

При вызове отчета пользователь получит приглашение ввести даты.



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



В свойствах компонента устанавливаем формат отображения значения поля, например «dd.MM.yyyy» для даты, или «#,##0» для чисел.

В первой колонке отчета номер строки. Поэтому это компонент Ярлык (Label), а не поле для данных. В атрибутах этого Ярлыка, в свойстве Значение, указываем формулу =( ROWCOUNT() + 1 )



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



В отчете есть поле с рассчитываемым значением. Под датасетом, в разделе Функции, добавляем функцию типа Open Formula.



В свойствах добавленной формулы, переименовываем ее имя в удобоваримое RowCount_..., и в атрибуте формула добавляем нужные расчеты.



В подвале отчета необходимо вывести сумму итого под некоторыми колонками. Это то же рассчитываемое поле, только с типом Сумма (Sum).



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



Для лучшей читаемости отчета, нужно чередовать фоновый цвет строк таблицы. Для этого в свойствах полосы, в атрибуте Фоновый цвет (bg-color) добавляем формулу: =IF( ISODD( ROWCOUNT() ); "#FFFFFF"; "#DDDDDD" ). Действие формулы понятно без комментария.



Последний штрих – в Заголовке отчета, в соответствующем Ярлыке добавляем формулу: = "за период с " & MESSAGE("{0,date,dd.MM.yyyy}"; [dt_from]) & " г. по " & MESSAGE("{0,date,dd.MM.yyyy}"; [dt_to]) & " г.". Действие формулы понятно без комментария.

Отчет готов.



Пример регуляторного отчета 17-ПБ «Отчет о кредитах, выданных нерезидентам» в PDF.

Пример регуляторного отчета 17-ПБ «Отчет о кредитах, выданных нерезидентам» в Excel.

В отчете в Excel есть скрытые столбцы, то есть некоторые поля в отчете не очень плотно подогнаны друг к другу. Можно подогнать, а можно поменять раскладку полосы с Холста на Строку. В раскладке Холст вы сами размещаете компоненты на полосе. В раскладке Строка полоса сама будет выстраивать все компоненты друг за другом, примерно как float:left в свойствах div в HTML. Вам останется только изменять ширину компонентов, и менять их порядок в строке (перемещать влево – вправо по полосе) с помощью кнопок под ярлычком Структура документа.





PS: Осталось только добавить, что для написания поста, по техническим причинам, пришлось набросать тестовый SQL-запрос для наполнения отчета случайными данными.

SELECT
client_name AS NAMECLIENT,
tax_bin AS IIN,
CAST( ( FLOOR( RAND() * 400 ) + 100 ) AS CHAR ) AS NUM_DOG,
CAST( ( FLOOR( RAND() * 100000 ) + 100 ) AS SIGNED ) AS SUM_DOG,

CAST( ( FLOOR( RAND() * 100000 ) + 100 ) AS SIGNED ) AS SALDO_BEG_OD,
CAST( ( FLOOR( RAND() * 10000 ) + 100 ) AS SIGNED ) AS OBOROT_KT_OD,
CAST( -( FLOOR( RAND() * 50000 ) + 100 ) AS SIGNED ) AS OBOROT_DT_OD,
CAST( ( FLOOR( RAND() * 10000 ) + 100 ) AS SIGNED ) AS SALDO_END_OD,

CAST( ( FLOOR( RAND() * 100000 ) + 100 ) AS SIGNED ) AS SALDO_BEG_PRC,
CAST( ( FLOOR( RAND() * 10000 ) + 100 ) AS SIGNED ) AS OBOROT_KT_PRC,
CAST( -( FLOOR( RAND() * 50000 ) + 100 ) AS SIGNED ) AS OBOROT_DT_PRC,
CAST( ( FLOOR( RAND() * 10000 ) + 100 ) AS SIGNED ) AS SALDO_END_PRC,

CAST( ( FLOOR( RAND() * 900000000 ) + 10000000 ) AS CHAR ) AS BALANS_NUM_OD,
CAST( ( FLOOR( RAND() * 900000000 ) + 10000000 ) AS CHAR ) AS BALANS_NUM_PRC,

CASE ( FLOOR( RAND() * 2 ) + 1 )
WHEN 1 THEN 'USD'
WHEN 2 THEN 'EURO'
END AS CURRENCY,

CASE ( FLOOR( RAND() * 3 ) + 1 )
WHEN 1 THEN '16'
WHEN 2 THEN '17'
WHEN 3 THEN '18'
END AS INTEREST,

CASE ( FLOOR( RAND() * 6 ) + 1 )
WHEN 1 THEN CAST('2015-01-01' AS DATE)
WHEN 2 THEN CAST('2015-02-02' AS DATE)
WHEN 3 THEN CAST('2015-03-03' AS DATE)
WHEN 4 THEN CAST('2015-04-04' AS DATE)
WHEN 5 THEN CAST('2015-05-05' AS DATE)
WHEN 6 THEN CAST('2015-06-06' AS DATE)
END AS DATE_BEGIN,

CASE ( FLOOR( RAND() * 6 ) + 1 )
WHEN 1 THEN CAST('2015-07-01' AS DATE)
WHEN 2 THEN CAST('2015-08-02' AS DATE)
WHEN 3 THEN CAST('2015-09-03' AS DATE)
WHEN 4 THEN CAST('2015-10-04' AS DATE)
WHEN 5 THEN CAST('2015-11-05' AS DATE)
WHEN 6 THEN CAST('2015-12-06' AS DATE)
END AS DATE_GIVE,

CASE ( FLOOR( RAND() * 6 ) + 1 )
WHEN 1 THEN CAST('2016-07-01' AS DATE)
WHEN 2 THEN CAST('2016-08-02' AS DATE)
WHEN 3 THEN CAST('2016-09-03' AS DATE)
WHEN 4 THEN CAST('2016-10-04' AS DATE)
WHEN 5 THEN CAST('2016-11-05' AS DATE)
WHEN 6 THEN CAST('2016-12-06' AS DATE)
END AS DATE_END,

CASE ( FLOOR( RAND() * 5 ) + 1 )
WHEN 1 THEN 'Германия'
WHEN 2 THEN 'Объединенные Арабские Эмираты'
WHEN 3 THEN 'Великобритания'
WHEN 4 THEN 'Испания'
WHEN 5 THEN 'Франция'
END AS COUNTRY

FROM
tbl_client

ORDER BY RAND()

LIMIT 10

Что такое система бизнес-анализа (BI)?

Почти 60 лет назад в 1958 году в одной из статей исследователя из IBM Ханса Питера Луна впервые появился термин Business Intelligence, который мы сейчас понимаем как интеллектуальный анализ...



Почти 60 лет назад в 1958 году в одной из статей исследователя из IBM Ханса Питера Луна впервые появился термин Business Intelligence, который мы сейчас понимаем как интеллектуальный анализ данных. Уже тогда исследователь определил этот термин как: «Возможность понимания связей между представленными фактами».

Эволюция BI за этот период вырастила понимание системы, и уже в 1989 году Говард Дреснер (работал на позиции аналитика в Gartner) определил Business Intelligence как термин, описывающий «концепции и методы для улучшения принятия бизнес-решений с использованием систем на основе бизнес-данных».

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

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

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



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

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

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

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

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

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

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

Если говорить о выгодах и преимуществах системы BI, то стоит отметить, что результат становится заметным в течение первых недель после установки.

В среднем показатели могут увеличиться до: 34% повышение производительности труда; 96% рост удовлетворенности клиентов; 186% возврат инвестиций; 16% рост выручки; 23% увеличение денежного потока; 20% снижение эксплуатационных расходов/операционных затрат.

Основные преимущества BI систем:

1. Бизнес-аналитика;
2. Управление финансовыми показателями и стратегией;
3. Прогностическая и углубленная аналитика;
4. Анализ рисков;
5. Аналитические приложения.



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

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

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

Не стоит забывать, что данные – это сырые необработанные факты и цифры, а информация – это данные, которым придали контекст или значение.



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

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

Зачем нужна визуализация данных?

Интересный факт - если в инструкции находится только текст, человек усваивает из нее лишь 70% информации. Если же в инструкцию добавить картинки, человек усвоит уже 95%.
Визуализация данных — это наглядное представление массивов различной информации. Существует несколько типов визуализации:
  • Обычное визуальное представление количественной информации в схематической форме. К этой группе можно отнести всем известные круговые и линейные диаграммы, гистограммы и спектрограммы, таблицы и различные точечные графики.
  • Данные при визуализации могут быть преобразованы в форму, усиливающую восприятие и анализ этой информации. Например, карта и полярный график, временная линия и график с параллельными осями, диаграмма Эйлера.
  • Концептуальная визуализация позволяет разрабатывать сложные концепции, идеи и планы с помощью концептуальных карт, диаграмм Ганта, графов с минимальным путем и других подобных видов диаграмм.
  • Стратегическая визуализация переводит в визуальную форму различные данные об аспектах работы организаций. Это всевозможные диаграммы производительности, жизненного цикла и графики структур организаций.
  • Графически организовать структурную информацию с помощью пирамид, деревьев и карт данных поможет метафорическая визуализация, ярким примером которой является карта метро.
  • Комбинированная визуализация позволяет объединить несколько сложных графиков в одну схему, как в карте с прогнозом погоды.
Зачем использовать визуализацию данных?
Визуальная информация лучше воспринимается и позволяет быстро и эффективно донести до зрителя собственные мысли и идеи. Физиологически, восприятие визуальной информации является основной для человека.
Есть многочисленные исследования, подтверждающие, что:
  • 90% информации человек воспринимает через зрение;
  • 70% сенсорных рецепторов находятся в глазах,
  • около половины нейронов головного мозга человека задействованы в обработке визуальной информации;
  • на 19% меньше при работе с визуальными данными используется когнитивная функция мозга, отвечающая за обработку и анализ информации;
  • на 17% выше производительность человека, работающего с визуальной информацией;
  • на 4,5% лучше воспоминаются подробные детали визуальной информации;
  • 10% человек запоминает из услышанного, 20% — из прочитанного, и 80% — из увиденного и сделанного;
  • на 323% лучше человек выполняет инструкцию, если она содержит иллюстрации.
Как часто вы используете визуализацию данных в своей работе?

Пузырьковая диаграмма на карте страны

Приложение "Sanatel OLAP Client" дополнено графиком "Пузырьковая диаграмма на карте страны".

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



Проклятие Excel (Excel Hell)

В англоязычном мире устоялся термин «Excel Hell». На русский язык можно перевести как «Ад Экселя», но лучше «Проклятие Excel».



С чего все начиналось в одной компании

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

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

Аналитики подготовили форму для заполнения, в Excel, и разослали по подразделениям. Подразделения предоставили данные, аналитики свели все в сводную таблицу.

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

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

Руководитель решил, что данный отчет нужно рассмотреть не только за текущий период, но и за прошлый период. Появилась новая версия отчета в Excel, с новыми вкладками.

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

Наконец было решено вести данный отчет постоянно, и вкладок становилось все больше и больше.

Разные подразделения предоставляют разные скидки. Решили пересчитать все продажи по прайсам головного офиса.

Обнаружилась девальвация, решили пересчитать все продажи в евро.

Решили дополнить отчет еще несколькими показателями, весь процесс сбора данных пришлось повторить сначала. Увеличили штат аналитиков.

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

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

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


Ошибки в Excel

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

По статистике 88% всех Excel отчетов (в которых более 150 строк) содержат по меньшей мере одну ошибку. И если вы сейчас решили открыть одну из своих таблиц и поискать ошибки …, опять же по статистике, вы можете самостоятельно найти только 50% от всех своих ошибок. Остальные ошибки выявляются позже, при подаче отчетности и глубокой аналитике (Источник: Журнал Wall Street, 2013 г.).

Согласно статистическим данным, 95% компаний используют Excel для финансовых отчетов. Чтобы создать типичный управленческий отчет, нужно 89 часов! После того, как отчет создан, он рассылается департаменту, директорам или коллегам. Каждый из них вносит свои правки, подписывает отчет и пересылает вам. Чтобы собрать все изменения в отчет, вам нужно потратить еще несколько часов. (Источник: Рarko, Raymond "What we know about spreadsheet errors"; Опрос, проведенный ClearPoint Strategy в августе 2014 г.).

В 2013 году из-за ошибки в электронной таблице Excel, используемой для моделирования риска, JP Morgan неверно оценил недостаток своего синтетического кредитного портфеля, что в конечном итоге привело к тому, что банк объявил о потере 6 млрд. долл. США. Как объясняет Джеймс Квак в Baseline Scenario, ошибка произошла из-за копирования и вставки ошибочного уравнения, созданного для сокращения чисел (Источник: Журнал Wall Street, 2013 г).


Решение

Автоматизируйте Ваши отчеты на платформе Pentaho Business Intelligence.