[МУЗЫКА] [МУЗЫКА] [МУЗЫКА] Сейчас мы поговорим о том, какие возможности соединения данных предоставляет Power Query. Мы будем соединять данные из двух таблиц. Предположим, что у нас имеются заказы, которые делали контрагенты нашей компании в двух месяцах: за январь и за февраль месяц. Мы хотим получить разного вида отчеты. Мы хотим посмотреть, какие клиенты делали заказы только в январе, какие клиенты делали заказы только в феврале и какие клиенты делали заказы и в январе, и в феврале. Начнем с того, что построим отчет, который содержит сведения о тех клиентах, которые делали заказы и в январе, и в феврале. Это так называемые постоянные клиенты нашей компании. В нашем случае это две компании: «Желтые тюльпаны» и «Красный день календаря». И если мы хотим составить отчет, содержащий сведения только о заказах этих компаний, то такое соединение данных называется внутренним соединением. Если мы хотим построить отчет, который содержит сведения о компаниях, которые делали только заказ в январе и не делали заказа в феврале, то для этого нам тоже нужно соединить данные, и такое соединение называется анти-соединением слева. Аналогично, если мы хотим посмотреть, какие клиенты сделали заказы в феврале и не делали заказы в январе, то для этого нам нужно создать анти-соединение справа. Также возможно создавать внешние соединения. Именно такие соединения мы делали во всех предыдущих примерах, когда соединяли данные из нескольких таблиц. Предположим, у нас есть оперативные данные о заказах, которые делали другие компании у нашей фирмы, и справочник, содержащий сведения об этих компаниях. Если мы хотим присоединить к оперативным данным сведения из справочника, например у нас «Белый снег» дважды встречается в нашем отчете, из справочника мы дважды должны присоединить эти сведения. Кроме того, в справочнике есть компании, которые не делали заказы в этом месяце у нашей фирмы. Такое соединение называется внешним соединением. То есть такое присоединение данных из справочника к нашему оперативному отчету называется внешним соединением. При этом, может быть, у кого-то возникнет желание создать внутреннее соединение, но такое делать соединение тоже нельзя, потому что может так оказаться, что наш справочник не полный, и есть сведения в нашей оперативной таблице о какой-то компании, о которой нет сведений в справочнике. Тогда, если мы создадим внутреннее соединение, то эти данные потеряются из нашего итогового отчета. То есть в данном случае нам нужно создать именно внешнее соединение и присоединить к оперативной таблице сведения из справочника. Давайте посмотрим, как все эти виды соединения реализуются в Power Query. Итак, у нас есть две таблички, содержащие код заказа, дату заказа, класс доставки, название клиента и сумму заказа за январь и за февраль. Откроем, создадим новый файл и загрузим в него наши данные. Итак, файл «Заказы», нам нужно и февраль, и январь. «Правка». На вкладке «Главная» мы оба этих файла «Закрыть и загрузить в» выберем и создадим только соединение. Загрузить. Подключены к нашей книге два запроса, это заказы за январь и за февраль. Итак, создадим новый отдельный отчет, выбрав в вкладке в Power Query команду «Слияние». Сначала у нас будет январь, затем февраль, и ключевым полем будет наименование клиента в первой и второй таблице. И теперь осталось выбрать тип соединения. Если мы хотим выявить постоянных клиентов, то нам нужно выбрать «Внутреннее соединение (только совпадающие строки)» в первой и второй таблице. Нажимаем «Ок». Итак, назовем это «Постоянные клиенты». И нам нужно раскрыть наши данные. Итак, таблица «Февраль», раскроем стрелочки выпадающие, и нам нужно выбрать только сумму заказа, Ок. И мы сейчас видим сумму заказа за январь и за февраль. Нам нужно оставить только сведения о наименовании клиента и сумма заказа в январе и в феврале. Выделим эти столбцы, нажмем правую клавишу мыши и удалим другие столбцы. Остальные сведения нас не интересуют. И осталось только переименовать суммы заказа. Теперь у нас будет «Сумма заказа за январь», а второй столбец чуть удобней назовем «Сумма заказа февраль» (по образцу как с первым столбцом). [БЕЗ_СЛОВ] И загрузим наши данные. Итак, у нас появился отчет, содержащий сведения о постоянных клиентах, сделавших заказ и в январе, и в феврале. Снова создадим новый отчет, выберем во вкладке Power Query опять «Слияние», опять выбираем «Январь», «Февраль», снова «Наименование клиента», и теперь мы хотим найти только тех клиентов, которые делали заказ в январе и не делали его в феврале. Итак, это будет анти-соединение слева. Ок. [БЕЗ_СЛОВ] Если мы раскроем столбец «Февраль», то... Давайте выберем, например, сумму заказа. Как видим, тут нет никаких сведений, потому что эти клиенты не делали заказа в феврале. Этот столбец нам не нужен, поэтому можно его не разворачивать, можем удалить эту команду и теперь оставить только нужные нам столбцы: итак, это столбец «Клиент», а также столбец «Сумма заказа». Правой клавишей мыши «Удалить другие столбцы». Давайте переименуем: «Сумма заказа за январь». Назовем наш отчет «Только в январе». И осталось его загрузить. И создадим последний отчет, выбрав опять на вкладке в Power Query «Слияние». А теперь выберем наоборот: «Февраль» и «Январь», выбрав «Клиент» и там, и там. Хотя мы выберем анти-соединение слева, на самом деле эта команда играет роль команды анти-соединения справа. Мы удалим столбец «Заказы в январе», также удалим остальные не нужные нам столбцы, «Удалить столбцы», и создадим последний отчет «Только в феврале». И загрузим эти данные. Итак, выбирая различные типы соединения, мы можем получать отчеты разной структуры, которые позволяют нам либо собирать данные, повторяющиеся в первой и второй таблице, либо только данные из первой таблицы, либо только данные из второй таблицы, а также создавать внешние соединения. Чаще всего, конечно, мы создаем внешние соединения, и именно такие соединения встречаются в большинстве наших примеров. А сегодня мы рассмотрели три примера различного соединения данных из таблиц, которые позволят нам получать полезные и нужные отчеты. [БЕЗ_ЗВУКА]