Проблема з продуктивністю в DAX Studio: CallBackDataID

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

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

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

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

Зміст

Де знайти CallBackDataID

CallBackDataID можна знайти в таймінгах сервера в DAX Studio. Через їхню важливість вони виділені в операторі xmSQL. Якщо ви хочете оптимізувати свій DAX, пошук CallBackDataID найкраще місце для початку.

Інший метод оптимізації полягає в застосуванні фільтрівколи можливо. Використання CALCULATE у фільтрах краще, ніж використанняяк стіл. FILTER — це ітератор, і коли ви фільтруєте таблицю, вона буде повторюватися. Наявність цих двох ітераторів може уповільнити ваш запит.

Ось два приклади запитів із і без CallBackDataID .

Проблема з продуктивністю в DAX Studio: CallBackDataID

Це локалізована міра, яка визначає два запити вище.

Проблема з продуктивністю в DAX Studio: CallBackDataID

Верхній показник повторює таблицю продажів, множить поточну ціну та кількість, а потім підсумовує. Нижня міра перевіряє, чи дата покупки перевищує або дорівнює 31 березня 2016 року. Наявність функції в мірі створює CallBackDataID , оскільки вона не використовує CALCULATE .

Щоб перевірити це, запустіть запит, який має CallBackDataID . Обов’язково очистіть кеш і ввімкніть часові параметри сервера та плани запитів перед запуском.

Якщо ви клацнете вкладку Server Timings внизу, ви побачите, що перше сканування виділено. Це через наявність CallBackDataID .

Проблема з продуктивністю в DAX Studio: CallBackDataID

Ви також можете побачити CallBackDataID в операторі xmSQL. Функція IF у мірі виходить за межі можливостей механізму зберігання, тому вона запитує допомогу від механізму формул.

Проблема з продуктивністю в DAX Studio: CallBackDataID

Як вирішити проблему з продуктивністю

Якщо ви запустите запит, який не має CallBackDataID , ви побачите, що скани більше не підсвічуються.

Проблема з продуктивністю в DAX Studio: CallBackDataID

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

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




Висновок

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


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

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

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

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