Труба в R: підключення функцій за допомогою Dplyr
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
У цьому посібнику ви навчитеся використовувати функцію UNION. У цьому підручнику буде порівняно продуктивність функції UNION з іншими методами об’єднання таблиць.
Theфункція об’єднує дві таблиці в одну, об’єднуючи їхні рядки та видаляючи всі повторювані рядки.
Прикладом у цьому підручнику є таблиця продажів, яка розділена на три таблиці для кожного року (2007, 2008, 2009).
Зміст
Функція UNION у DAX
Відкрийте та запустіть план часу та запитів сервера.
Наведений нижче код DAX використовується як приклад:
Після запуску коду перейдіть на вкладку «Час сервера» . Ви бачите, що для виконання коду потрібно 5,4 секунди. Більшість часу виконання було проведено в . Кожен із цих трьох запитів містить ту саму операцію, але роки різні.
Після повернення цих трьох запитів системою зберігання даних виконується ОБ’ЄДНАННЯ, яке можна побачити в плані логічного запиту. План запитів також виконує обчислення загального обсягу продажів.
У фізичному плані запиту ви можете побачити три кеші даних, що містять операції, виконані за кожен рік у таблиці продажів.
Порівняння продуктивності DAX
Щоб побудувати порівняння, давайте створимо показник для загальних продажів за допомогою вихідної таблиці продажів.
Якщо ви запустите цей код і перейдете на вкладку Server Timings , ви побачите, що це значно ефективніше, ніж функція UNION.
Функція UNION споживає 97,9 кілобайт, тоді як нова міра споживає лише 1 Кбайт.
Коли ви використовуєте UNION, механізм DAX повертає величезний обсяг кешу даних назад до механізму формул. Це сильно навантажує оперативну пам'ять.
Отже, якщо ви маєте справу з моделлю даних, яка містить понад мільйон рядків, не рекомендується використовувати функцію UNION
Альтернативи функції UNION DAX
Замість використання UNION у цьому прикладі можна використовувати три функції SUMX . Тобто одна функція SUMX на кожен рік.
Коли ви запустите цей код і перейдете на вкладку «Таймінг сервера», ви побачите, що час виконання значно менший. Він збільшився з 5400 мс до 33 мс, незважаючи на виконання трьох різних запитів.
Інший спосіб — додати таблицю моделі даних у Power Query або в самому джерелі даних.
Але найкращим варіантом є створення, яке виконуватиме об’єднання цих трьох таблиць. Але цей варіант має свої плюси і мінуси.
Використання обчисленої таблиці дозволяє заощадити загальний час обробки на відміну від виконання додавання в Power Query. Однак це призведе до збільшення розміру бази даних у VertiPaq.
Коли ви використовуєте обчислювану таблицю, ви створюєте нову таблицю, яка об’єднує три таблиці. Але ці три розділені таблиці залишаться в базі даних.
У цьому прикладі три таблиці споживають загалом 25 МБ. Якщо ви створите обчислену таблицю, вона займе ще 25 Мб у вашій оперативній пам’яті.
Для чутливих випадків, таких як ці, вам потрібно прийняти обґрунтоване рішення щодо найкращого способу дій.
Висновок
Функція UNION у DAX поєднує дві таблиці в одну, що полегшує аналіз даних. Він працює, приймаючи дві таблиці як вхідні дані та повертаючи нову таблицю, яка містить усі рядки з обох вхідних таблиць. Однак ця функція має свої обмеження.
Функція UNION може працювати повільніше, ніж інші методи об’єднання даних, особливо якщо вхідні таблиці великі. Він також може займати більше місця в сховищі на відміну від інших альтернатив.
Щоразу, коли ситуація вимагає об’єднання таблиць, важливо спочатку зважити всі «за» і «проти», перш ніж приймати рішення про використання функції UNION. Ваші альтернативи включають функцію SUMX, таблицю моделі даних або обчислену таблицю.
Все найкраще,
У цьому підручнику ви дізнаєтесь, як об’єднати функції разом за допомогою оператора каналу dplyr мовою програмування R.
RANKX від LuckyTemplates дозволяє повернути рейтинг певного числа в кожному рядку таблиці, який є частиною списку чисел.
Дізнайтеся, як розібрати файл PBIX, щоб витягти теми та зображення LuckyTemplates із фону та використовувати їх для створення звіту!
Шпаргалка формул Excel: Посібник середнього рівня
Календарна таблиця LuckyTemplates: що це таке та як ним користуватися
Дізнайтеся, як інсталювати мову програмування Python у LuckyTemplates і як використовувати її інструменти для написання кодів і відображення візуальних елементів.
Дізнайтеся, як обчислювати динамічну маржу прибутку за допомогою LuckyTemplates і як ви можете отримати більше інформації, глибше досліджуючи результати.
Дізнайтеся, як правильно сортувати поля зі стовпців розширеної таблиці дат. Це хороша стратегія для складних полів.
У цій статті я поясню, як знайти найпопулярніші продукти для регіону за допомогою обчислень DAX у LuckyTemplates, включаючи функції TOPN і CALCULATE.
Дізнайтеся, як використовувати вимірювання сміття для позначок низької потужності, які ви хочете ефективно включити у свою модель даних.