Ідеї ​​матеріалізації для кешу даних у DAX Studio

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

Існує дві ідеї матеріалізації: рання матеріалізація та пізня матеріалізація .

Зміст

Рання матеріалізація

Рання матеріалізація — це коли кількість матеріалізованих рядків перевищує кількість рядків, необхідних для виведення.

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

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

Рання матеріалізація може бути викликана складними об’єднаннями або зв’язком «багато-до-багатьох» у ваших моделях даних. Це також може бути спричинено наявністю складних фільтрів або ітераторів.

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

Пізня матеріалізація

Пізня матеріалізація — це коли кількість матеріалізованих рядків дорівнює або наближається до кількості рядків, необхідних для виведення.

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

Це приклади запитів ранньої та пізньої матеріалізації:

Ідеї ​​матеріалізації для кешу даних у DAX Studio

Перед виконанням цих запитів обов’язково очистіть кеш. Це змусить ваші запити працювати з холодним кешем. Якщо ви запустите DAX без очищення кешу, ви отримаєте такий результат:

Ідеї ​​матеріалізації для кешу даних у DAX Studio

Загальний час виконання становить лише 1861 мілісекунду, оскільки він уже використовував кеш. Тому завжди очищайте кеш-пам’ять перед виконанням запитів.

Якщо ви запустите запит Early Materialization, ви побачите, що загальний час, який він зайняв, становить 9485 мілісекунд. Він згенерував один кеш даних і один рядок, але повернув 25 мільйонів рядків.

Ідеї ​​матеріалізації для кешу даних у DAX Studio

Вам не потрібно матеріалізувати 25 мільйонів рядків, щоб отримати результат з одного рядка, оскільки це потребує часу та сповільнює продуктивність DAX.

Якщо ви запустите запит Late Materialization, ви побачите, що весь обчислення зайняв лише 1340 мілісекунд. Він також створив 2 кеші даних, кожен з яких повертав 5003 рядки.

Ідеї ​​матеріалізації для кешу даних у DAX Studio

Якщо ви подивитеся на фізичний план запиту, ви побачите 5000 рядків. Вони не мають рівної кількості рядків. Результат серверного таймінгу іноді матиме невелику розбіжність із точною кількістю рядків у плані запиту.

Ідеї ​​матеріалізації для кешу даних у DAX Studio

Отже, працюючи над одним кеш-пам’яттю даних із 25 мільйонами рядків, тепер у вас є два кеші даних із 5003 рядками. Ось чому робота з пізнішою матеріалізацією дає швидше результати, ніж рання матеріалізація.

Всередині кожного запиту на матеріалізацію

Просто переглянувши запит, ви вже можете побачити, що пізніша матеріалізація є швидшою. Запит Early Materialization підраховує рядки зведеної таблиці.

Ідеї ​​матеріалізації для кешу даних у DAX Studio

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

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




Висновок

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

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


Труба в 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.

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

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

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