Ідеї ​​матеріалізації для кешу даних у 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 для виконання певних процесів.


Змініть формати дати за допомогою редактора Power Query

Змініть формати дати за допомогою редактора Power Query

У цьому посібнику ви дізнаєтеся, як перетворити текст у формат дати за допомогою редактора Power Query в LuckyTemplates.

Power Query: об’єднайте файли з кількох папок

Power Query: об’єднайте файли з кількох папок

Дізнайтеся, як об’єднати файли з кількох папок у мережі, робочому столі, OneDrive або SharePoint за допомогою Power Query.

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Обчисліть місячне ковзне середнє з початку року (з початку року) у LuckyTemplates

Цей підручник пояснює, як обчислити місячне ковзне середнє на базі даних з початку року за допомогою функцій AVERAGEX, TOTALYTD та FILTER у LuckyTemplates.

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

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

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

Мобільні звіти LuckyTemplates. Поради та методи

Мобільні звіти LuckyTemplates. Поради та методи

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

Звіти про професійну аналітику послуг у LuckyTemplates

Звіти про професійну аналітику послуг у LuckyTemplates

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

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Оновлення Microsoft Power Platform | Microsoft Ignite 2021

Ознайомтеся з основними оновленнями для Power Apps і Power Automate, а також їх перевагами та наслідками для Microsoft Power Platform.

Загальні функції SQL: огляд

Загальні функції SQL: огляд

Відкрийте для себе деякі поширені функції SQL, які ми можемо використовувати, наприклад String, Date і деякі розширені функції для обробки та маніпулювання даними.

Створення шаблону LuckyTemplates: керівництво та поради

Створення шаблону LuckyTemplates: керівництво та поради

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

Параметри полів і малі кратні в LuckyTemplates

Параметри полів і малі кратні в LuckyTemplates

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