Поделиться через


Левое внешнее соединение

Один из типов соединения, доступных в диалоговом окне Слияние в Power Query, — это левое внешнее соединение, которое сохраняет все строки из левой таблицы и добавляет все соответствующие строки из правой таблицы. Дополнительные сведения см. в Обзор операций слияния.

схема примера левого внешнего соединения.

На схеме показана левая таблица с столбцами Date, CountryID и Units. Выделенный столбец CountryID содержит значения 1 в строках 1 и 2, 3 в строке 3 и 4 в строке 4. На схеме показана левая таблица, содержащая столбцы ID и Country. Выделенный столбец идентификатора содержит значения 1 в строке 1 (обозначающие США), 2 в строке 2 (обозначающая Канаду) и 3 в строке 3 (обозначающая Панаму). Таблица под первой таблицей содержит столбцы Date, CountryID, Units и Country. В таблице есть четыре строки с двумя верхними строками, содержащими данные для CountryID 1, строку для CountryID 3 и строку для идентификатора страны 4. Так как справа таблица не содержала идентификатор 4, значение четвертой строки в столбце "Страна" содержит значение NULL.

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

  • Продажи: в этой таблице перечислены поля Дата, ID страныи Единиц. CountryID — это целое число, представляющее уникальный идентификатор из таблицы стран.

    снимок экрана: таблица продаж, содержащая столбцы Date, CountryID и Units, с идентификатором countryID, равным 1 в строках 1 и 2, 3 в строке 3 и 4 в строке 4.

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

    снимок экрана: пример таблицы

    Таблица стран с идентификатором, равным 1 в строке 1, 2 в строке 2 и 3 в строке 3, а страна установлена как США в строке 1, Канада в строке 2 и Панама в строке 3.

В этом примере вы объединяете обе таблицы с таблицей Sales в качестве левой таблицы и таблицы стран в качестве правой. Соединение выполняется между следующими столбцами.

Поле из таблицы Sales Поле из таблицы "Страны"
CountryID ИДЕНТИФИКАТОР

Цель состоит в том, чтобы создать таблицу, как в следующем примере, где имя страны отображается в виде нового столбца Country в таблице Sales, если CountryID существует в таблице стран. Если между таблицами слева и справа нет совпадений, значение null является результатом слияния для этой строки. На следующем изображении показано, что значение NULL актуально для CountryID 4, которое было взято из таблицы Sales.

снимок экрана, показывающий слева внешние соединения конечной таблицы с столбцом Country, добавленным со значением четвертой строки этого столбца с значением NULL.

Чтобы выполнить левое внешнее соединение, сделайте:

  1. Выберите запрос продажи, а затем выберите слияние запросов.
  2. В диалоговом окне Слияние в разделе Правая таблица для слияниявыберите Страны.
  3. В таблице продаж выберите столбец CountryID.
  4. В таблице Countries выберите столбец ID.
  5. В разделе Тип соединения выберите левое внешнее.
  6. Выберите ОК.

снимок экрана диалогового окна слияния со столбцом CountryID, столбцом идентификатора и выбранной внешней кнопкой слева.

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

снимок экрана: развернутый столбец таблицы для страны.

После выполнения этой операции вы создадите таблицу, которая выглядит следующим образом.

снимок экрана конечной таблицы со столбцом Country, добавленным со значением четвертой строки этого столбца, равным NULL.