Функція UNION DAX проти Power Query

У цьому посібнику ви навчитеся використовувати функцію UNION. У цьому підручнику буде порівняно продуктивність функції UNION з іншими методами об’єднання таблиць.

Theфункція об’єднує дві таблиці в одну, об’єднуючи їхні рядки та видаляючи всі повторювані рядки.

Прикладом у цьому підручнику є таблиця продажів, яка розділена на три таблиці для кожного року (2007, 2008, 2009).

Зміст

Функція UNION у DAX

Відкрийте та запустіть план часу та запитів сервера.

Функція UNION DAX проти Power Query

Наведений нижче код DAX використовується як приклад:

Функція UNION DAX проти Power Query

Після запуску коду перейдіть на вкладку «Час сервера» . Ви бачите, що для виконання коду потрібно 5,4 секунди. Більшість часу виконання було проведено в . Кожен із цих трьох запитів містить ту саму операцію, але роки різні.

Функція UNION DAX проти Power Query

Після повернення цих трьох запитів системою зберігання даних виконується ОБ’ЄДНАННЯ, яке можна побачити в плані логічного запиту. План запитів також виконує обчислення загального обсягу продажів.

Функція UNION DAX проти Power Query

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

Функція UNION DAX проти Power Query

Порівняння продуктивності DAX

Щоб побудувати порівняння, давайте створимо показник для загальних продажів за допомогою вихідної таблиці продажів.

Функція UNION DAX проти Power Query

Якщо ви запустите цей код і перейдете на вкладку Server Timings , ви побачите, що це значно ефективніше, ніж функція UNION.

Функція UNION споживає 97,9 кілобайт, тоді як нова міра споживає лише 1 Кбайт.

Функція UNION DAX проти Power Query

Коли ви використовуєте UNION, механізм DAX повертає величезний обсяг кешу даних назад до механізму формул. Це сильно навантажує оперативну пам'ять.

Отже, якщо ви маєте справу з моделлю даних, яка містить понад мільйон рядків, не рекомендується використовувати функцію UNION

Альтернативи функції UNION DAX

Замість використання UNION у цьому прикладі можна використовувати три функції SUMX . Тобто одна функція SUMX на кожен рік.

Функція UNION DAX проти Power Query

Коли ви запустите цей код і перейдете на вкладку «Таймінг сервера», ви побачите, що час виконання значно менший. Він збільшився з 5400 мс до 33 мс, незважаючи на виконання трьох різних запитів.

Функція UNION DAX проти Power Query

Інший спосіб — додати таблицю моделі даних у Power Query або в самому джерелі даних.

Але найкращим варіантом є створення, яке виконуватиме об’єднання цих трьох таблиць. Але цей варіант має свої плюси і мінуси.

Використання обчисленої таблиці дозволяє заощадити загальний час обробки на відміну від виконання додавання в Power Query. Однак це призведе до збільшення розміру бази даних у VertiPaq.

Коли ви використовуєте обчислювану таблицю, ви створюєте нову таблицю, яка об’єднує три таблиці. Але ці три розділені таблиці залишаться в базі даних.

Функція UNION DAX проти Power Query

У цьому прикладі три таблиці споживають загалом 25 МБ. Якщо ви створите обчислену таблицю, вона займе ще 25 Мб у вашій оперативній пам’яті.

Для чутливих випадків, таких як ці, вам потрібно прийняти обґрунтоване рішення щодо найкращого способу дій.

Висновок

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

Функція UNION може працювати повільніше, ніж інші методи об’єднання даних, особливо якщо вхідні таблиці великі. Він також може займати більше місця в сховищі на відміну від інших альтернатив.

Щоразу, коли ситуація вимагає об’єднання таблиць, важливо спочатку зважити всі «за» і «проти», перш ніж приймати рішення про використання функції UNION. Ваші альтернативи включають функцію SUMX, таблицю моделі даних або обчислену таблицю.

Все найкраще,


Труба в R: підключення функцій за допомогою Dplyr

Труба в R: підключення функцій за допомогою Dplyr

У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX Deep Dive: функція LuckyTemplates DAX

RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.

Вилучення тем і зображень LuckyTemplates із PBIX

Вилучення тем і зображень LuckyTemplates із PBIX

Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Шпаргалка формул Excel: Посібник середнього рівня

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Календарна таблиця LuckyTemplates: що це таке та як ним користуватися

Python у LuckyTemplates: як встановити та налаштувати

Python у LuckyTemplates: як встановити та налаштувати

Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Розрахунок динамічної норми прибутку – легкий аналіз LuckyTemplates за допомогою DAX

Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.

Сортування стовпців таблиці дат у LuckyTemplates

Сортування стовпців таблиці дат у LuckyTemplates

Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

Знайдіть свої найкращі продукти для кожного регіону в LuckyTemplates за допомогою DAX

У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.

Вимір сміття: що це таке і чому це щось інше, але не сміття

Вимір сміття: що це таке і чому це щось інше, але не сміття

Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.