Проблема з продуктивністю в 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 .


Змініть формати дати за допомогою редактора 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

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