Skip to main content

Узел трансформации

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

Узел трансформации позволяет:

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

Создание ETL-флоу#

Узлы обработки данных создаются в рабочей области графа преобразования данных ETL-флоу.

Для формирования графа преобразования данных нужно:

  • Cоздать объект типа ETL-flow:
    • Клик правой кнопкой мыши по произвольной папке, для появления контекстного меню
    • В контекстном меню выбрать “ETL-флоу”

MADD interface

Создание и удаление узла трансформации#

При перетаскивании локального файла или таблицы из объекта типа Новый источник в рабочую область ETL-flow формируется узел трансформации данных.

Также узел трансформации можно создать следующим образом:

  • выбрать уже существующую вершину ETL-flow;
  • в верхней части страницы нажать на управляющий элемент Трансформация.

MADD interface

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

note

Удаление созданного узла выполняется посредством выделения узла левой клавишей мыши и нажатием сочетания клавиш "Control" + "Backspace".

Работа с узлом трансформации#

По двойному клику на узел трансформации откроется панель инструментов для работы с узлом:

MADD interface

В верхней части экрана отображаются:

MADD interface

  1. Название узла.
  2. Кнопка поиска столбцов-дубликатов.
  3. Кнопка для ввода правил фильтрации.
  4. Кнопка для расчета динамических значений.
  5. Кнопка для выделения всех столбцов в узле.
  6. Кнопка отмены последнего действия в узле.
  7. Поле ввода для поиска по столбцам узла.
Редактирование названия

По двойному клику на название узла доступны инструменты для его редактирования. MADD interface

В нижней части экрана отображается список столбцов узла, каждый столбец содержит:

MADD interface

  1. Иконку с типом данных.
  2. Название столбца (двойной клик для редактирования).
  3. Иконку для отмены последнего действия со столбцом.
  4. Иконку для удаления столбца из узла.
  5. Информацию о содержимом столбца.
Содержимое столбца

Внутри столбца отображаются 50 наиболее часто встречающихся значений в этом столбце, от более частых к редким. На заднем фоне значений отображается столбчатая диаграмма количества этих значений, наведясь курсором на конкретное значение можно увидеть сколько раз оно встречается в столбце.

По клику на иконку с типом данных столбца откроются инструменты для управления типом: MADD interface Всего есть четыре типа данных: строка / число / дата / дата и время.
По умолчанию все столбцы имеют строковый тип данных. Это сделано, чтобы извлекать данные из источников без потерь, но для корректного построения визуализаций следует определять тип данных столбца соответствующий его содержимому.

Зачем менять тип данных

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

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

При выборе числового типа данных есть возможность определить способ хранения из языка С: MADD interface Это актуально для больших данных, если вы не знакомы с типами языка С, то просто нажмите на пункт "Число", система сама подберет наиболее подходящий способ хранения.

Создание поля с динамическими значениями

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

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

MADD interface

Создание новых колонок (формирование расчетных значений) выполняется посредством объединения данных существующих колонок таблицы и их трансформации. При этом можно использовать следующие специальные символы и конструкции:

  • знаки арифметических действий (+, -, *, /);
  • скобки для определения порядка вычисления новых значений;
  • цифры 0-9 и точку для ввода числовых констант;
  • двойные кавычки для ввода наименований существующих столбцов;
  • одинарные кавычки для ввода текстовых констант;
  • функции.

Madd поддерживает следующие функции для создания новых колонок:

  • abs (число) - вычисляет абсолютное значение числа;
  • base64Encode (строка) - производит кодирование строки в base64-представление;
  • ceil (число, кол-во символов после запятой) – возвращает наименьшее круглое число, большее или равное аргументу;
  • concat (строка, строка, ...) - склеивает строки, переданные в аргументы, в одну строку без разделителей.
  • contain (строка, префикс) - возвращает 1, если строка содержит указанный префикс, иначе 0 (функция чувствительна к регистру);
  • containInsensitive (строка, префикс) - возвращает 1, если строка содержит указанный префикс, иначе 0 (функция нечувствительна к регистру);
  • convertCharset (строка, кодировка_1, кодировка_2) - принимает три аргумента, возвращает сконвертированную из кодировки_1 в кодировку_2 строку;
  • empty (название столбца) - Возвращает 1 для пустой строки, и 0 для непустой. Строка не пуста, если содержит хотя бы один байт, пусть даже это пробел;
  • endsWith (строка, префикс) - возвращает 1, если строка заканчивается указанным префиксом, иначе 0;
  • exp(число) - принимает числовой аргумент, возвращает число типа Float64, близкое к экспоненте от аргумента;
  • floor (число, кол-во символов после запятой) – возвращает наибольшее круглое число, меньшее или равное аргументу;
  • formatDateTime(дата, регулярное выражение) - возвращает значение и даты в заданном формате;
  • isNull (х) - проверяет является ли аргумент NULL, возвращает 1 или 0;
  • length (строка) - возвращает длину строки в байтах;
  • ln (число) - возвращает число, близкое к натуральному логарифму от аргумента;
  • lower (строка) - переводит строку в нижний регистр;
  • multiIf (условие, значение, условие, значение, ..., значение else) - аналог оператора CASE (множественные условия); notempty(название столбца) - возвразает 1 есть ячейка столбца не пустая и 0, если пустая;
  • replace (x, y, z) - заменяет в x паттерн y на z;
  • round (число, кол-во символов после запятой) - округляет значение до указанного десятичного разряда. Когда число равноудалено от чисел необходимого порядка, возвращает то, которое имеет ближайшую чётную цифру (банковское округление);
  • sqrt (число) - вычисляет квадратный корень числа;
  • startsWith (строка, префикс) - возвращает 1, если строка начинается указанным префиксом, иначе 0; substring (строка, начал.позиция, количество байт) – возвращает подстроку, начиная с байта по индексу начальной позиции, длины, определяемой кол-вом байт. Индексация символов — начиная с единицы;
  • tryBase64Decode (строка) - декодирует base64- представление в исходную строку. При невозможности декодирования возвращает пустую строку;
  • upper (строка) - переводит строку в верхний регистр.
Ручной ввод названия функций

Рекомендуется вводить наименования функций прописными буквами.

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

MADD interface

В модальном окне функции фильтрации можно ввести формулу фильтрации данных, используя следующие инструменты:

  • добавление колонки (кнопка Вставить колонку);
  • добавление функции (кнопка Вставить функцию);
  • ввод знаков арифметических действий (+, -, *, /);
  • ввод знаков сравнения (>, >=, <, <=, ==, !=);
  • ввод логических операторов (AND, OR, NOT):
    • OR - выполняет операцию «логическое ИЛИ» над двумя операндами. Если один или оба операнда имеют истинное значение, он возвращает true. Если оба операнда имеют ложные значения, он возвращает false;
    • AND - выполняет операцию «логическое И» над двумя операндами. Возвращает true тогда и только тогда, когда оба операнда имеют значение true. Если один или оба операнда возвращают значение false, оператор возвращает false;
    • IN - выполняет проверку на содержание значения в массиве;
    • NOT - выполняет операцию «логическое НЕ» над операндом;
  • ввод квадратных скобок для выбора значений колонки;
  • ввод скобок для определения порядка вычисления формулы;
  • ввод цифры 0-9 и точку для добавления числовых констант;
  • ввод текстовых констант в одинарных кавычках.
Пример использования функции IN

"Район" IN[‘Центральный’,’Калининский’]

Формула фильтрует все значения выбранной таблицы по значениям столбца "Район". В результирующую выборку попадут строки, для которых значение в столбце "Район" равно Центральный или Калининский. В интерфейсе MADD после ввода [ ] отображается метка "Значение", нажатие на которую открывает выбор колонки таблицы и значений из выбранной колонки.