Skip to content

Объединение таблиц

1. Обзор

1.1 Сценарии применения

Слияние (объединение) таблиц - это объединение нескольких таблиц с разными данными, но с некоторой связью, в одну большую таблицу.

Варианты слияния таблиц делятся на два типа: "Union All" (сращивание сверху и снизу) и "Join" (сращивание слева и справа).

"Union All" слияние строк из разных таблиц, (сверху вниз):

1628671790269155.png

"Join" - слияние столбцов из разных таблиц:

2021-08-11_17-18-15.png

"Join" имеет четыре режима: "Left Join" (сохраняет все данные из левой таблицы), "Right Join"(сохраняет все данные из правой таблицы), "Full Join"(сохраняет все данные из обеих таблиц) и "Inner Join"(сохраняет все данные которые есть и в правой и в левой таблице).

1.2 Метод реализации

В FineB, столбцы/поля с одинаковыми именами сращиваются в один столбец по умолчанию.

В этой статье описывается результат, процедура и проверка методов "Union All" и "Join".

2. Union All

2.1 Отображение

Результат метода объединения "Union All" показан на следующем рисунке:

1596001237782798.png

2.2 Функциональный ввод

В "Data" нажмите "Union All", для объединения строк из разных таблиц, как показано на рисунке ниже:

2.3 Процедуры

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

Создайте "Analysis Subject" и загрузите пример данных. Выберете "Student Scores" - Лист1, и объетените его с "Student Scores" - Лист2" методом "Union All", как показано на рисунке ниже:

上下合并.gif

Сращивание позволяет выбрать сразу несколько таблиц для сращивания.

Например, можно объединить данные трех таблиц Excel. Процедура показана на следующем рисунке:

Столбцы/поля с одинаковыми именами объединяются в один столбец. Поэтому, если в таблице есть столбцы/поля с несовпадающими именами, но фактически одинаковыми, необходимо вручную выбрать поля для слияния.

Например, имя столбца "Name" не совпадает в двух объединяемых таблицах, как показано на рисунке ниже:

Измените совпадающие поля текущей таблицы и объединенной таблицы "Student Scores" - Лист2", чтобы объединить "Name 1" и "Name 2" в один столбец, и результат объединения будет изменен на "Name", как показано на следующем рисунке:

不同字段合并.gif

3. Join

3.1 Отображение

Объединение "Join" сращивает левую таблицу с правой. Левая таблица - это таблица, выбранная на странице обработки данных, а правая это таблица выбранная во всплывающем окне после нажатия на "Join".

Различные режимы "Join" имеют разные эффекты, как это описано в разделе 3.2 этого документа.

2021-08-11_15-18-59.png

Метод слияния "Join" требует полей в качестве основы для объединения, и на рисунке выше "Name" является основой для объединения (первичный ключ).

3.2 Join, режимы.

3.2.1 Left Join

  • Left Join(Левое слияние): присоединяет все данные с левой таблицы, чтобы объединить их с частью данных с правой таблицы.
  • Функциональный ввод: "Join > Left Join".
  • Реализация: при использовании "Left Join" сохраняются все данные левой таблицы, правая таблица и поле слияния левой таблицы в одной строке будут сохранены, остальные данные не будут добавлены в объединенную таблицу.
  • Описание: данные перед шагом слияния "Left Join" - Левая таблица - это таблица, выбранная на странице обработки данных, а правая это таблица выбранная во всплывающем окне после нажатия на "Join", по умолчанию происходит слияние левой и правой таблиц с одинаковыми полями в качестве основы слияния, то есть левая и правая таблицы слияния с одинаковыми полями будут слева и справа для сращивания строк в одну строку. Поэтому, если имена полей разные, но фактически одинаковые, необходимо вручную добавить и выбрать поля основы слияния, а также вручную удалить поля, если они одинаковые, но не сливаются.

左合并.png

3.3.2 Right Join

  • "Right Join"(Правое слияние): присоединяет все данные с правой таблицы, чтобы объединить их с частью данных с левой таблицы.
  • Функциональный ввод: "Join > Right Join".
  • Реализация: при использовании "Right Join" сохраняются все данные правой таблицы, левая таблица и поле слияния правой таблицы в одной строке будут сохранены, остальные данные не будут добавлены в объединенную таблицу.
  • Описание: данные перед шагом слияния "Right Join" - Правая таблица - это таблица, выбранная на странице обработки данных, а левая это таблица выбранная во всплывающем окне после нажатия на "Join", по умолчанию происходит слияние правой и левой таблиц с одинаковыми полями в качестве основы слияния, то есть правая и левая таблицы слияния с одинаковыми полями будут справа и слева для сращивания строк в одну строку. Поэтому, если имена полей разные, но фактически одинаковые, необходимо вручную добавить и выбрать поля основы слияния, а также вручную удалить поля, если они одинаковые, но не сливаются.

右合并.png

3.2.3 Full Join

  • Full Join(Полное слияние): присоединяет все данные с левой и правой таблиц.
  • Функциональный ввод: "Join > Full Join"
  • Реализация: при использовании "Full Join" сохраняются все данные из обеих таблиц, независимо от того имеют ли данные совпадающие значения в другой таблице.
  • Описание: данные перед шагом слияния "Full Join" - Левая таблица - это таблица, выбранная на странице обработки данных, а правая это таблица выбранная во всплывающем окне после нажатия на "Join", по умолчанию происходит слияние правой и левой таблиц с одинаковыми полями в качестве основы слияния, то есть правая и левая таблицы слияния с одинаковыми полями будут справа и слева для сращивания строк в одну строку. Поэтому, если имена полей разные, но фактически одинаковые, необходимо вручную добавить и выбрать поля основы слияния, а также вручную удалить поля, если они одинаковые, но не сливаются.

并集合并.png

3.2.4 Inner Join

  • Left Join(Перекрестное слияние): присоединяет все данные совпадающие в обеих таблицах.
  • Функциональный ввод: "Join > Inner Join".
  • Реализация: при использовании "Inner Join" сохраняются все данные которые совпадают в обеих таблицах, остальные данные не будут добавлены в объединенную таблицу.
  • Описание: данные перед шагом слияния "Inner Join" - Левая таблица - это таблица, выбранная на странице обработки данных, а правая это таблица выбранная во всплывающем окне после нажатия на "Join", по умолчанию происходит слияние левой и правой таблиц с одинаковыми полями в качестве основы слияния, то есть левая и правая таблицы слияния с одинаковыми полями будут слева и справа для сращивания строк в одну строку. Поэтому, если имена полей разные, но фактически одинаковые, необходимо вручную добавить и выбрать поля основы слияния, а также вручную удалить поля, если они одинаковые, но не сливаются.

交集合并.png

3.3 Функциональный ввод

Нажмите "Join" на странице "Data" для объединения таблиц, как показано на рисунке ниже:

3.4 Процедура

Например, есть таблица с оценками по английскому языку студентов A, B и C и таблица с оценками по английскому языку студентов A, B и D. Эти две таблицы необходимо объединить в одну со всеми данными студентов. В этом случае в качестве метода слияния нужно выбрать "Full Join", как показано на следующем рисунке:

Подробно см. в документации: Основы слияния слева и справа

左右合并.gif

Если к объединению нужно добавить таблицы, нажмите "Join" еще раз.

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

左右合并不同字段.gif

4. Проверка объединения

4.1 Дублирование данных после слияния

Проблема:

Слияние привело к дублированию данных.

Например, найдите сумму, потраченных пользователями в каждом городе. Необходимо объединить "User Info"(информация о пользователе) и "Order Info" (информацию о заказе). На данный момент существует три дубликата одних и тех же данных для пользователя "1093577", как показано на следующем рисунке:

Причина проблемы:

Для каждого пользователя существует несколько адресов доставки, поскольку в объединенной таблице "User Info"(информация о пользователе) один "User ID" (Идентификатор пользователя) соответствует нескольким данным.

В этом случае при слиянии с использованием "User ID" в качестве основы слияния (первичный ключ) появится несколько значений, как показано на следующем рисунке:

2021-08-13_16-17-23.png

Решение:

Как сохранить только одни данные пользователя "1093577"?

Просто используйте "Group Summary" (группировку) для усреднения значений, как показано ниже:

4.2 Превышение лимита данных после слияния

Проблема:

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

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

1600149883765058.png

Причина проблемы:

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

Решение:

Администраторы могут внести изменение в систему через "Data Access Volume в System Management > System Setting > General", подробно см. в разделе: текущий объем данных таблицы превышает максимальное количество строк, которые могут быть отображены