Skip to content

Консолидация, перехват, дезагрегирование данных

1. Обзор

Объединение и слияние полей, а также дезагрегация необходимы при интеграции данных.

В наборе данных иногда требуется объединить некоторые поля требований.

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

2. Комбинации слияния полей

2.1 Прямое объединение полей

Объединение текстовых полей осуществляется с помощью знака "+", но, конечно, можно использовать и функцию CONCATENATE.

Примечание: Аналогично & в Excel.

Например, вам нужно объединить фамилию и имя в одно поле "Имя", как показано ниже:

Ввод формулы: Фамилия + Имя объединяет поля, как показано ниже:

Также можно использовать функцию CONCATENATE, как показано ниже:

2.2 Поля объединяются и разделяются символом

Пример данных: анализ районных данных.xlsx

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

Например, используя пример "Анализ региональных данных", вам нужно объединить данные о стране, провинции и городе и разделить их знаком -.

Создайте поле, назовите его и введите формулу: Страна + "-" + Область + "-" + Город, нажмите "ОК", как показано ниже:

Появится поле "Регион", как показано на рисунке ниже:

3. дезагрегирование полей

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

Разделение полей в FineBI осуществляется одним щелчком мыши по функции, либо с помощью функции для создания "Нового столбца ", либо с помощью приборной панели для добавления "Вычисляемого поля ".

3.1 Примеры

Пример данных: Информационный лист поставщика.xlsx

Например, если вам нужно перехватить номер телефона, пример создает новое поле в наборе данных Self-service для дезагрегирования и перехватывает последние восемь цифр номера "phone", чтобы создать новое поле "phone number".

Создайте набор данных для Self-service, используя образец данных "Форма информации о поставщике", и выберите поля "Контактное имя" и "Телефон".

3.1.1 Метод I

Нажмите "Еще > Разделить строки и столбцы" в интерфейсе редактирования данных, чтобы войти в интерфейс функции, как показано на следующем рисунке:

Разделите поле разделителем "-" и выберите "2-е поле" для позиции разделения. Как показано на рисунке ниже:

3.1.2 Метод II

Выберите добавление нового столбца, используйте функцию RIGHT, добавьте новый столбец "номер телефона", чтобы перехватить последние восемь цифр номера телефона, введите формулу: RIGHT (phone, 8), как показано на рисунке ниже:

3.2 Другие формулы

Более дезагрегированные формулы приведены в таблице ниже.

спрос (экономика)формулы
Символы появляются в поле только один разПерехватывает фиксированное количество символовСПРАВА, СЛЕВА,ПОСЕРЕДИНЕПример: RIGHT(phone,8)
Получение содержимого поля "перед символом"LEFT(имя поля, FIND("символ", имя поля) -1)Пример: LEFT(учетная запись и пароль пользователя, FIND(":", учетная запись и пароль пользователя) -1)
Получение содержимого поля "после символа"RIGHT(имя поля, LEN(имя поля)-FIND("символ", имя поля))Пример: RIGHT(учетная запись и пароль пользователя, LEN(учетная запись и пароль пользователя)-FIND(":", учетная запись и пароль пользователя))
Удалите фиксированное количество символов после поляLEFT(имя поля, LEN(имя поля) - длина удаляемых символов)Пример:
Удалите фиксированное количество символов перед полемRIGHT(field, LEN(field) - длина удаляемых символов)
Символы появляются в поле несколько разБерет последние несколько вхождений символа, за которыми следуют последние несколько вхождений символа в полеINDEXOF(SPLIT (имя поля, "_"),LEN(SPLIT(имя поля, "_"))-1)Пример: INDEXOF(SPLIT(field,"_"),LEN(SPLIT(field,"_"))-1)
Берет содержимое после предпоследнего множественного вхождения символа в полеINDEXOF(SPLIT(имя поля,"_"),LEN(SPLIT(имя поля,"_"))-2)Пример: INDEXOF(SPLIT(field,"_"),LEN(SPLIT(field,"_"))-2)
И так далее, чтобы добиться разбивки поля...