Об’єднання таблиць у Power BI за допомогою Power Query та DAX

опубліковано 2 травня 2018 року

Я зробив кілька відео на YouTube, в яких пояснюється, як об’єднувати таблиці за допомогою Power Query або DAX. Якщо ви стежите за каналом, ви, напевно, бачили відео, і цей допис у блозі буде компіляцією всього матеріалу.

Однак якщо ви новачок, це послужить підручником для початківців, як приєднатися до Power BI. У будь-якому випадку, я вважаю, що ця публікація буде корисною для всіх, тому давайте почнемо.

Об’єднання таблиць у Power BI

Якщо ви хочете об’єднати таблиці за допомогою запиту живлення, є кілька варіантів:

  1. Лівий Зовнішній
  2. Права зовнішня
  3. Повна зовнішня
  4. Внутрішній
  5. Лівий Анти
  6. Правий Анти

Це не говорить багато, правда? Які це всі приєднання?

Перш ніж переходити до того, як робити об’єднання в Power BI, варто взяти кілька хвилин, щоб пояснити, що це за об’єднання, на прикладі.

Якщо ви віддаєте перевагу відео, перегляньте відео нижче, інакше продовжуйте читати:

Приклад того, як об’єднати таблиці

Уявімо, що у нас є компанія, яка займається велоспортом, і в нашому сховищі даних є дві таблиці: одна зі списком товарів та ціною, а інша зі списком товарів, які є у нас на складі. У нас на складі більше продуктів, ніж тих, які ми виготовили самі, і цей список містить весь перелік товарів на складі. Ось як виглядають таблиці:

єднання

Зелені рядки представляють рядки, які збігаються в обох таблицях.

Давайте об’єднаємо ці таблиці, використовуючи різні комбінації об’єднань, доступні в Power BI:

Зліва Зовнішнє приєднання

Скажімо, хтось на виробництві хоче знати, які велосипеди ми маємо на складі. У такому випадку ми зробили б лівий зовнішній.

Коли ми робимо Left Outer, ми беремо всі рядки з A, а відповідні з таблиці B. Лівий зовнішній поверне з таблиці B лише ті продукти, які присутні в таблиці A.

Правильне зовнішнє приєднання

Зараз хтось, хто працює на складі, хоче знати, яку продукцію ми виробляємо самі. У такому випадку ми зробили б правильний зовнішній.

Коли ми робимо Right Outer, ми беремо всі рядки з таблиці B, а відповідні - з таблиці A. Права зовнішня повертає з таблиці A лише ті продукти, які присутні в таблиці B.

Повне зовнішнє приєднання

Відділ управління продуктами просив вас про це перелік усіх товарів, доступних для продажу. У цьому випадку ви зробите Full Outer.

Коли ми робимо Full Outer, ми беремо всі рядки з таблиці A і всі рядки з таблиці B. Повний зовнішній поверне таблицю з усіма записами, збігаючись з тими, які доступні в обох таблицях.

Внутрішнє з'єднання

Про це вас попросив відділ планування перелік товарів, які є в наявності. Вони не хочуть бачити будь-яких інших товарів, оскільки вони не повинні бути на складі. У цьому випадку ви зробите внутрішнє приєднання.

Коли ми робимо внутрішнє об’єднання, ми беремо лише відповідні рядки з таблиці A і таблиці B. Внутрішнє об’єднання повертає таблицю з усіма відповідними записами, виключаючи все інше.

Ліва Антиприєднання

Управління продуктами зателефонувало вам ще раз, цього разу вони хочуть переглянути список товарів, яких немає на складі, щоб переглянути свою стратегію. Немає проблем, у цьому випадку вам потрібен Left Anti.

Коли ми робимо Left Anti, ми беремо всі рядки з A that не мають сірника у таблиці B. Лівий антивірус поверне всі рядки з таблиці A, які не мають відповідності в таблиці B.

Права Антиприєднання

Логістичний відділ хоче перелік продуктів, які є на складі, але ми не виробляємо їх самі. Цього разу це зробить Right Anti.

Коли ми робимо Right Anti, ми беремо всі рядки з B that не мають сірника у таблиці А. Правий анти-файл поверне всі рядки з таблиці B, які не мають відповідності в таблиці A.

Легко гороховий, правда? 🙂

Я насправді створив посібник, щоб пам’ятати всі ці об’єднання:

і ви можете завантажити його тут.

Об’єднання таблиць у Power Query

Отже, тепер, коли ви знаєте, що таке різні об’єднання, давайте подивимося, як це зробити в Power Query у цьому відео:

Лівий зовнішній приєднання 01:37

Праве Зовнішнє Приєднання 02:51

Повне зовнішнє приєднання 03:20

Права Антиприєднання 04:17

Об’єднуйте таблиці за допомогою DAX

Гаразд, тож тепер, коли ми є експертами з об’єднань, спробуємо об’єднати таблиці за допомогою DAX.

Ви можете виконувати ті самі типи об’єднань у DAX, що і в Power BI. Є багато способів це зробити, і я зараз покажу вам кілька прикладів функцій DAX, які дозволять вам приєднувати таблиці.

У мене немає лише одного відео для цього, але одне відео на функцію, оскільки це частина моєї серії DAX Fridays, але я розміщу тут посилання, щоб ви мали доступ до всіх них в одному місці.

Але перш за все, яку функцію для чого використовувати? Ось:

Я створив такий самий візуал, але з функціями DAX:

і це включено в той самий посібник.

Підручник із прикладом

За допомогою генерації ви можете зробити внутрішнє та зовнішнє з'єднання таблиць за допомогою DAX:

04:35 Внутрішнє приєднання
07:59 Зовнішнє приєднання

Більше підручників з об’єднання таблиць: CROSSJOIN

У цьому відео я покажу вам, як зробити антиз’єднання таблиць за допомогою DAX:

Завантажте приклади файлів:

Щоб завантажити файли з нашого центру завантажень, натисніть * ТУТ *.

Приєднується килимок для миші

Якщо вам подобається підручник, можливо, вам потрібен мій килимок для миші: