
Хабр, привет!
На связи команда Business Intelligence GlowByte. Да-да, те самые неугомонные, которые создали самое крупное русскоязычное сообщество FineBI, проводят обучения, собирают дайджесты и ежегодно организуют масштабные конференции.
Меня зовут Александр, я руководитель центра поддержки и обучения BI-решений в GlowByte, и сегодня хочу поделиться с вами небольшим гайдом по обработке данных в FineBI. Этот материал будет полезен начинающим BI-разработчикам.
Данная статья состоит из четырех уроков, которые помогут вам ближе познакомиться с функциями редактирования данных в FineBI. Если после прочтения вы захотите разобраться со всеми особенностями платформы, закрепить базовые знания и прокачать навыки создания сложных визуализаций, приглашаю на наши курсы.
Урок 1: Обработка и упрощение структуры данных
1.1. Обработка структуры данных
Прежде чем приступить к анализу данных, часто необходимо провести определенные преобразования в структуре данных. Эти преобразования включают в себя изменение порядка строк и столбцов с целью обработки данных и формирования нужных полей для последующего анализа.
В FineBI для этого есть удобные инструменты, доступные в интерфейсе редактора данных, которые помогут достичь быстрого результата.

Рассмотрим детальнее на примере функций "Split Rows and Columns" и "Convert Rows and Columns" и данных, которые содержат результаты экзаменов китайских студентов. Для этого запустим FineBI и создадим новый “Analysis Subject”.
Первоначальная структура данных:

Используя функции “Split Field” и “Row to column”, разделим колонку “Результаты экзамена” на колонки с оценками по соответствующим экзаменам.
Шаг 1: Разбиваем столбец “Результаты” по словам:

Шаг 2: Разбиваем получившийся после split столбец по 2 символа:

Данные после обработки:

1.2 Удаление дублей
При анализе данных вопрос качества всегда является наиболее острым, а повторяющиеся строки – самой распространенной проблемой. При удалении этих строк мы можем столкнуться с двумя сценариями развития логики вычислений.
В первом случае абсолютно неважно, какую из строк мы сохраним, поскольку это никак не повлияет на анализ. К примеру, в ряду «А, А, А» мы можем оставить любую А. В этом случае для оптимизации процесса можно использовать функцию «Delete Duplicate Row» (удалить повторяющиеся строки).
Во втором случае необходимо оставить конкретную строку. Например, в ситуации, когда студенты пересдавали экзамен и на каждого студента будет два набора данных, а при анализе нам нужно будет оставить тот, где содержатся последние записи. В ситуации, когда из «А, В, С» нужно оставить именно А, мы должны применить функцию «Delete Duplicate Row» так, чтобы сохранить первую строку. Для этого сначала отсортируем данные функцией “Sort”, а затем удалим строки функцией «Delete Duplicate Row».

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

1.3. Работа со значением null
Одним из наиболее проблемных моментов при анализе данные является наличие в таблице значений null.
Когда у нас большие объемы данных и "null" встречается редко, это может не сильно повлиять на наши вычисления суммы или среднего значения. В таких случаях мы можем просто проигнорировать эти значения.
Но если в процессе обработки данных некоторые значения "null" следует исключить как нежелательные данные целиком, мы можем использовать удобный фильтр в заголовке таблицы для быстрого исключения пустых значений.

Выше показан простой сценарий обработки, но в реальной жизни, возможно, вам придется столкнуться с ситуациями, когда значение "null" важно для сохранения логики вычислений.
Рассмотрим эту ситуацию на примере нашего датасета с данными по успеваемости студентов. Вероятно, один из учеников пропустил занятие по болезни, поэтому в системе отсутствует запись о его оценке по одному из экзаменов – мы не можем не учитывать его, поэтому не можем просто удалить его данные из базы.
Нам стоит очень внимательно относиться к подобным ситуациям, чтобы при дальнейших расчетах выборочно выставлять фильтры. Для этого в FineBI можно использовать функцию “Formula Column” (добавить столбец с вычисляемым значением по формуле) или же более удобную: «Condition Tag Column» (добавить столбец со значением по условию).


Урок 2: Объединение и анализ множества таблиц
Аналитики часто сталкиваются с ситуацией, когда данные представлены в нескольких таблицах. Прежде чем начать анализ, возникает вопрос: как объединить эти таблицы? Для тех, кто только начинает изучать бизнес-аналитику, давайте рассмотрим два примера использования функции объединения: “Union All” и “Join”.
Давайте представим, что у нас есть несколько одинаковых таблиц, содержащих результаты экзаменов в разных учебных группах. Если мы хотим объединить эти таблицы с сохранением всех данных, мы используем операцию "Union All". Это как если бы мы просто склеивали эти две таблицы вертикально, добавляя строки из второй таблицы после строк первой таблицы.

Теперь давайте представим, что в одной из таблиц стало больше колонок, например добавилась колонка с общей оценкой успеваемости. Перед тем, как мы подробно рассмотрим функцию “Join”, изучим еще одну похожую функцию «Column from Other Tables» (добавить колонку из другой таблицы).
Вам наверняка уже знакомы “Vlookup” и “Sumif” из Excel. Как вы уже могли догадаться, эта функция позволяет агрегировать (Sumif) или искать соответствующие измерения из других таблиц и объединять их с текущей таблицей (Vlookup).

Любителям SQL функции left join и right join знакомы, пожалуй, очень даже хорошо, поэтому, используя функцию «объединить слева и справа» при редактировании данных в BI, можете смело руководствоваться логикой SQL.
Для тех, кто привык работать с SQL и знаком с операторами типа left join, right join и т. д., функция "Join" в редакторе данных FineBI может быть более интуитивно понятной. Эта функция ведет себя аналогично SQL-операторам и может быть легко освоена теми, кто уже знаком с базовыми принципами SQL.
Урок 3: Создание вычислений и аналитических показателей
Когда вы подготовили структуру данных и объединили несколько таблиц, важно остановиться и подумать о проблеме которую мы исследуем. Проверьте, есть ли в ваших таблицах необходимые показатели для решения задачи, или нужно добавить новые вычисления или аналитические показатели.
Например, при анализе продаж часто приходится самостоятельно вычислять прибыль, темпы роста и прочие показатели. Поэтому перед проведением анализа мы можем вставить расчетные формулы непосредственно в таблицу с данными. В FineBI это можно сделать с помощью уже знакомой вам функции «Formula Column». Она работает так же, как формула в Excel, необходимо лишь ввести соответствующую формулу, чтобы создать нужное поле.

Затем с помощью функции «Summary Column» мы можем легко рассчитать сумму.

Функция «Condition Tag Column» помогает решать самые проблемные для аналитиков вопросы, связанные с условием IF. Так, нам не нужно прописывать 7-8 уровней условия IF – от нас требуется лишь настроить некоторые условия вручную, чтобы присвоить данным разные значения.

Урок 4: Верификация обработанных данных
Для начинающих BI-разработчиков основные сложности заключаются не только в понимании вычислительной логики большого количества функций BI-решения, но и в верификации обработанных данных. Наверняка у вас часто возникают подобные мысли: «Я сделал все как нужно, но правильно ли получилось?»
Для решения данной задачи FineBI предоставляет большое количество полезных функций.
4.1. Верификация по заголовку
Для быстрой проверки суммы и среднего значения достаточно выбрать необходимую колонку и обратить внимание на информацию в левом нижнем углу. Таким образом можно проверить полученные данные и определить их достоверность.

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


Наш вводный урок по редактированию данных подошел к концу.
Датасет для тренировки можно скачать по ссылке.
Свои вопросы можете смело задавать в самом крупном сообществе FineBI в России.
По всем вопросам о продукте, ценах на лицензии, миграции пишите: bi@glowbyteconsulting.com