Полное внешнее соединение
Один из типов соединения, доступных в диалоговом окне слияния в Power Query, — это полное внешнее соединение, которое содержит все строки из левой и правой таблиц. Дополнительные сведения: обзор операций слияния
Снимок экрана: левая таблица с столбцами Date, CountryID и Units. Выделенный столбец CountryID содержит значения 1 в строках 1 и 2, 3 в строке 3 и 2 в строке 4. Правая таблица содержит столбцы ID и Country. Столбец с выделенным идентификатором содержит значения 1 в строке 1 (обозначающие США), 2 в строке 2 (обозначающая Канаду), 3 в строке 3 (обозначающая Панаму) и 4 (обозначающая Испанию) в строке 4. Таблица под первой таблицей содержит столбцы Date, CountryID, Units и Country. Все строки переупорядочены в числовом порядке в соответствии со значением CountryID. Страна, связанная с номером CountryID, отображается в столбце "Страна". Так как идентификатор страны для Испании не содержится в левой таблице, добавляется новая строка, а дата, идентификатор страны и значения единиц для этой строки имеют значение NULL.
В этой статье используются примеры данных, чтобы показать, как выполнить операцию слияния с полным внешним соединением. Примеры исходных таблиц для этого примера:
Продажи: эта таблица содержит поля Date, CountryID и Units. CountryID — это целое число, представляющее уникальный идентификатор из таблицы "Страны ".
Страны: эта таблица представляет собой справочную таблицу с идентификатором полей и страной. Поле идентификатора представляет уникальный идентификатор для каждой записи.
В этом примере вы объединяете обе таблицы с таблицей Sales в виде левой таблицы и таблицы "Страны " в качестве правой. Соединение выполняется между следующими столбцами.
Поле из таблицы Sales | Поле из таблицы "Страны" |
---|---|
ИДстраны | Идентификатор |
Цель — создать таблицу, как показано ниже, где имя страны отображается в виде нового столбца "Страна " в таблице Sales . Из-за того, как работает полное внешнее соединение, все строки из левой и правой таблиц вставляются независимо от того, отображаются ли они только в одной из таблиц.
Снимок экрана: окончательная полная таблица внешнего соединения с датой, страной и единицами, производными от таблицы "Продажи", и столбцом "Страна", производным от таблицы "Страны". Пятая строка была добавлена для хранения данных из Испании, но эта строка содержит значение NULL в столбцах Date, CountryID и Units, так как эти значения не существовали для Испании в таблице Sales.
Для выполнения полного внешнего соединения:
- Выберите запрос "Продажи" и выберите "Объединить запросы".
- В диалоговом окне "Слияние" в правой таблице для слияния выберите "Страны".
- В таблице Sales выберите столбец CountryID.
- В таблице "Страны" выберите столбец идентификатора.
- В разделе "Тип соединения" выберите "Полный внешний".
- Выберите ОК
Примечание.
Вы можете объединить несколько столбцов, выбрав и удерживая клавиши CTRL, а затем выбрав столбцы.
Совет
Ознакомьтесь с сообщением в нижней части диалогового окна с надписью "Выбор соответствует 4 из 5 строк из обеих таблиц". Это сообщение имеет решающее значение для понимания результата, полученного из этой операции.
В таблице "Страны" у вас есть страна Испания с идентификатором 4, но нет записей для CountryID 4 в таблице Sales. Таким образом, только три из четырех строк из правой таблицы нашли совпадение. Все строки из правой таблицы, не имеющие совпадающих строк из левой таблицы, группируются и отображаются в новой строке в выходной таблице без значений полей из левой таблицы.
В только что созданном столбце "Страны " после операции слияния разверните поле "Страна ". Не установите флажок "Использовать исходное имя столбца" в качестве префикса .
После выполнения этой операции вы создадите таблицу, которая выглядит следующим образом.
Снимок экрана: полная итоговая таблица внешнего соединения с датой, страной и единицами, производными от таблицы "Продажи", и столбцом "Страна", производным от таблицы "Страны". Пятая строка была добавлена для хранения данных из Испании, но эта строка содержит значение NULL в столбцах Date, CountryID и Units, так как эти значения не существовали для Испании в таблице Sales.