![](https://habrastorage.org/getpro/habr/upload_files/a6b/b91/710/a6bb917108da628a8e633c75ba0d5e73.png)
Хабр, привет!
На связи команда Business Intelligence GlowByte. Да-да, те самые неугомонные, которые создали самое крупное русскоязычное сообщество FineBI, проводят обучения, собирают дайджесты и ежегодно организуют масштабные конференции.
Меня зовут Александр, я руководитель центра поддержки и обучения BI-решений в GlowByte, и сегодня хочу поделиться с вами небольшим гайдом по обработке данных в FineBI. Этот материал будет полезен начинающим BI-разработчикам.
Данная статья состоит из четырех уроков, которые помогут вам ближе познакомиться с функциями редактирования данных в FineBI. Если после прочтения вы захотите разобраться со всеми особенностями платформы, закрепить базовые знания и прокачать навыки создания сложных визуализаций, приглашаю на наши курсы.
Урок 1: Обработка и упрощение структуры данных
1.1. Обработка структуры данных
Прежде чем приступить к анализу данных, часто необходимо провести определенные преобразования в структуре данных. Эти преобразования включают в себя изменение порядка строк и столбцов с целью обработки данных и формирования нужных полей для последующего анализа.
В FineBI для этого есть удобные инструменты, доступные в интерфейсе редактора данных, которые помогут достичь быстрого результата.
![Функции обработки данных Функции обработки данных](https://habrastorage.org/getpro/habr/upload_files/73b/977/bb3/73b977bb3dad32393854ae3134da421c.png)
Рассмотрим детальнее на примере функций "Split Rows and Columns" и "Convert Rows and Columns" и данных, которые содержат результаты экзаменов китайских студентов. Для этого запустим FineBI и создадим новый “Analysis Subject”.
Первоначальная структура данных:
![Как можно видеть, это сырые данные, которые пока невозможно анализировать Как можно видеть, это сырые данные, которые пока невозможно анализировать](https://habrastorage.org/getpro/habr/upload_files/833/d0f/6db/833d0f6db66c36412d6cdf7762b202a7.png)
Используя функции “Split Field” и “Row to column”, разделим колонку “Результаты экзамена” на колонки с оценками по соответствующим экзаменам.
Шаг 1: Разбиваем столбец “Результаты” по словам:
![Результат 1 шага обработки Результат 1 шага обработки](https://habrastorage.org/getpro/habr/upload_files/896/6e0/f6a/8966e0f6aa937e6e19f743010b5d6951.png)
Шаг 2: Разбиваем получившийся после split столбец по 2 символа:
![Результат 2 шага обработки Результат 2 шага обработки](https://habrastorage.org/getpro/habr/upload_files/c3d/a51/80b/c3da5180b7431569fc7ab41abf5a5762.png)
Данные после обработки:
![Итоговый результат: после разделения данных на разные столбцы и ряды структура стала понятнее и проще Итоговый результат: после разделения данных на разные столбцы и ряды структура стала понятнее и проще](https://habrastorage.org/getpro/habr/upload_files/d24/c92/e6e/d24c92e6e1b910c6c0e0a47107dfa3dc.png)
1.2 Удаление дублей
При анализе данных вопрос качества всегда является наиболее острым, а повторяющиеся строки – самой распространенной проблемой. При удалении этих строк мы можем столкнуться с двумя сценариями развития логики вычислений.
В первом случае абсолютно неважно, какую из строк мы сохраним, поскольку это никак не повлияет на анализ. К примеру, в ряду «А, А, А» мы можем оставить любую А. В этом случае для оптимизации процесса можно использовать функцию «Delete Duplicate Row» (удалить повторяющиеся строки).
Во втором случае необходимо оставить конкретную строку. Например, в ситуации, когда студенты пересдавали экзамен и на каждого студента будет два набора данных, а при анализе нам нужно будет оставить тот, где содержатся последние записи. В ситуации, когда из «А, В, С» нужно оставить именно А, мы должны применить функцию «Delete Duplicate Row» так, чтобы сохранить первую строку. Для этого сначала отсортируем данные функцией “Sort”, а затем удалим строки функцией «Delete Duplicate Row».
![Выберите поле «убрать повтор», чтобы быстро удалить дубли Выберите поле «убрать повтор», чтобы быстро удалить дубли](https://habrastorage.org/getpro/habr/upload_files/9aa/a7c/075/9aaa7c075c654670d9dc4de60afa8dfc.png)
Для проверки дублей в данных вы также мы можете использовать функционал фильтрации в заголовках.
![Выпадающее меню заголовка анализирует имеющиеся поля и быстро обнаруживает дубли Выпадающее меню заголовка анализирует имеющиеся поля и быстро обнаруживает дубли](https://habrastorage.org/getpro/habr/upload_files/59c/231/470/59c23147015283737d953e6d9febbb89.png)
1.3. Работа со значением null
Одним из наиболее проблемных моментов при анализе данные является наличие в таблице значений null.
Когда у нас большие объемы данных и "null" встречается редко, это может не сильно повлиять на наши вычисления суммы или среднего значения. В таких случаях мы можем просто проигнорировать эти значения.
Но если в процессе обработки данных некоторые значения "null" следует исключить как нежелательные данные целиком, мы можем использовать удобный фильтр в заголовке таблицы для быстрого исключения пустых значений.
![Фильтрация по заголовкам быстро обнаружила пустое поле и далее предлагает выбрать, нужно ли его фильтровать или нет Фильтрация по заголовкам быстро обнаружила пустое поле и далее предлагает выбрать, нужно ли его фильтровать или нет](https://habrastorage.org/getpro/habr/upload_files/2d5/526/951/2d5526951018e4e04772ea24b2ea73e5.png)
Выше показан простой сценарий обработки, но в реальной жизни, возможно, вам придется столкнуться с ситуациями, когда значение "null" важно для сохранения логики вычислений.
Рассмотрим эту ситуацию на примере нашего датасета с данными по успеваемости студентов. Вероятно, один из учеников пропустил занятие по болезни, поэтому в системе отсутствует запись о его оценке по одному из экзаменов – мы не можем не учитывать его, поэтому не можем просто удалить его данные из базы.
Нам стоит очень внимательно относиться к подобным ситуациям, чтобы при дальнейших расчетах выборочно выставлять фильтры. Для этого в FineBI можно использовать функцию “Formula Column” (добавить столбец с вычисляемым значением по формуле) или же более удобную: «Condition Tag Column» (добавить столбец со значением по условию).
![](https://habrastorage.org/getpro/habr/upload_files/3d7/9e5/f54/3d79e5f54d58057bb8c30febafa09e42.png)
![Отмечаем студентов без оценок как пропустивших экзамен Отмечаем студентов без оценок как пропустивших экзамен](https://habrastorage.org/getpro/habr/upload_files/460/176/265/460176265d740f2510aa0509014eb328.png)
Урок 2: Объединение и анализ множества таблиц
Аналитики часто сталкиваются с ситуацией, когда данные представлены в нескольких таблицах. Прежде чем начать анализ, возникает вопрос: как объединить эти таблицы? Для тех, кто только начинает изучать бизнес-аналитику, давайте рассмотрим два примера использования функции объединения: “Union All” и “Join”.
Давайте представим, что у нас есть несколько одинаковых таблиц, содержащих результаты экзаменов в разных учебных группах. Если мы хотим объединить эти таблицы с сохранением всех данных, мы используем операцию "Union All". Это как если бы мы просто склеивали эти две таблицы вертикально, добавляя строки из второй таблицы после строк первой таблицы.
![В таблице стало больше строк, но количество колонок осталось прежним В таблице стало больше строк, но количество колонок осталось прежним](https://habrastorage.org/getpro/habr/upload_files/301/579/773/30157977309089ed3fdc25a4eac3a664.png)
Теперь давайте представим, что в одной из таблиц стало больше колонок, например добавилась колонка с общей оценкой успеваемости. Перед тем, как мы подробно рассмотрим функцию “Join”, изучим еще одну похожую функцию «Column from Other Tables» (добавить колонку из другой таблицы).
Вам наверняка уже знакомы “Vlookup” и “Sumif” из Excel. Как вы уже могли догадаться, эта функция позволяет агрегировать (Sumif) или искать соответствующие измерения из других таблиц и объединять их с текущей таблицей (Vlookup).
![После того, как мы суммировали баллы по заданным параметрам, у нас появилось новая колонка После того, как мы суммировали баллы по заданным параметрам, у нас появилось новая колонка](https://habrastorage.org/getpro/habr/upload_files/f69/b6f/5fa/f69b6f5fa0503723fc65695eeacd2001.png)
Любителям SQL функции left join и right join знакомы, пожалуй, очень даже хорошо, поэтому, используя функцию «объединить слева и справа» при редактировании данных в BI, можете смело руководствоваться логикой SQL.
Для тех, кто привык работать с SQL и знаком с операторами типа left join, right join и т. д., функция "Join" в редакторе данных FineBI может быть более интуитивно понятной. Эта функция ведет себя аналогично SQL-операторам и может быть легко освоена теми, кто уже знаком с базовыми принципами SQL.
Урок 3: Создание вычислений и аналитических показателей
Когда вы подготовили структуру данных и объединили несколько таблиц, важно остановиться и подумать о проблеме которую мы исследуем. Проверьте, есть ли в ваших таблицах необходимые показатели для решения задачи, или нужно добавить новые вычисления или аналитические показатели.
Например, при анализе продаж часто приходится самостоятельно вычислять прибыль, темпы роста и прочие показатели. Поэтому перед проведением анализа мы можем вставить расчетные формулы непосредственно в таблицу с данными. В FineBI это можно сделать с помощью уже знакомой вам функции «Formula Column». Она работает так же, как формула в Excel, необходимо лишь ввести соответствующую формулу, чтобы создать нужное поле.
![Интерфейс редактора формул Интерфейс редактора формул](https://habrastorage.org/getpro/habr/upload_files/2ca/ed0/188/2caed0188f3873e3e4d17ce2505f98c2.png)
Затем с помощью функции «Summary Column» мы можем легко рассчитать сумму.
![Выберите соответствующую группу и метод расчета, чтобы провести вычисления для указанных показателей. Выберите соответствующую группу и метод расчета, чтобы провести вычисления для указанных показателей.](https://habrastorage.org/getpro/habr/upload_files/164/224/c49/164224c49fd2f6363bc0232eb4de4c50.png)
Функция «Condition Tag Column» помогает решать самые проблемные для аналитиков вопросы, связанные с условием IF. Так, нам не нужно прописывать 7-8 уровней условия IF – от нас требуется лишь настроить некоторые условия вручную, чтобы присвоить данным разные значения.
![Добавив условие, мы можем отфильтровать данные и присвоить им соответствующие значения Добавив условие, мы можем отфильтровать данные и присвоить им соответствующие значения](https://habrastorage.org/getpro/habr/upload_files/6e2/17a/2c1/6e217a2c127ddb34d3f194edc6868894.png)
Урок 4: Верификация обработанных данных
Для начинающих BI-разработчиков основные сложности заключаются не только в понимании вычислительной логики большого количества функций BI-решения, но и в верификации обработанных данных. Наверняка у вас часто возникают подобные мысли: «Я сделал все как нужно, но правильно ли получилось?»
Для решения данной задачи FineBI предоставляет большое количество полезных функций.
4.1. Верификация по заголовку
Для быстрой проверки суммы и среднего значения достаточно выбрать необходимую колонку и обратить внимание на информацию в левом нижнем углу. Таким образом можно проверить полученные данные и определить их достоверность.
![При проверке данных мы получили среднее значение равное 85.92, что соответствует нашим данным При проверке данных мы получили среднее значение равное 85.92, что соответствует нашим данным](https://habrastorage.org/getpro/habr/upload_files/75b/749/f81/75b749f81b20f43de8e82359015e9d0e.png)
4.2. Добавление и удаление шагов обработки данных
FineBI позволяет беспрепятственно добавлять или удалять некоторые шаги обработки данных. Благодаря этой возможности мы можем отфильтровать важные данные, а затем удалить некоторые шаги обработки, которые вызывают сомнения. Тем самым мы можем методом проб и ошибок посмотреть, как будут изменяться данные. Это похоже на то, как когда-то в школе мы много раз проверяли, верно ли решено уравнение.
![Отфильтруем часть данных по заголовку, чтобы провести «выборочную проверку» Отфильтруем часть данных по заголовку, чтобы провести «выборочную проверку»](https://habrastorage.org/getpro/habr/upload_files/dac/00d/3a9/dac00d3a926386e96280830c9f848d84.png)
![Воспользуемся подсказками в области действий, чтобы быстро проверить данные Воспользуемся подсказками в области действий, чтобы быстро проверить данные](https://habrastorage.org/getpro/habr/upload_files/c97/13c/6e1/c9713c6e1cc7663ef216c94de717a94a.gif)
Наш вводный урок по редактированию данных подошел к концу.
Датасет для тренировки можно скачать по ссылке.
Свои вопросы можете смело задавать в самом крупном сообществе FineBI в России.
По всем вопросам о продукте, ценах на лицензии, миграции пишите: bi@glowbyteconsulting.com