Що таке Power Query та мова M: детальний огляд
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
У цьому підручнику буде обговорюватися перехід контексту та вкладені ітератори. Ви дізнаєтесь про важливість цих об’єктів і те, як вони можуть бути хорошим джерелом для оптимізації.
Якщо ви пам’ятаєте, перехід контексту відбувається, коли контекст рядка змінюється на еквівалентний контекст фільтра. Ви повинні знати, що відбувається, коли в ітераторах відбувається перехід контексту, оскільки він часто може генерувати повільні результати.
Зміст
Вкладені ітератори проти CALCULATE
Якщо контекстний перехід викликається під час ітерації, створюється таблиця матеріалізації. Це означає, що перехід контексту викликається за допомогою формул у вашому DAX. Таблиця – це нестиснуті дані, які надсилаються до механізму формул.
Щоб продемонструвати, перший показник стосується великих продажів, який отримує поточну ціну, якщо вона більше або дорівнює 500.
Наступний показник — це середнє значення великих продажів із вкладеними ітераторами.
Останній показник отримує середнє значення великих продажів без вкладеного ітератора та CallBackDataID.
Виконайте вимірювання за допомогою вкладеного ітератора. Обов’язково очистіть кеш перед запуском, а потім увімкніть параметри часу сервера та план запитів.
Ви бачите, що було створено 3 сканування, 2 CallBackDataID і 15 003 рядки. Це викликає занепокоєння, оскільки для виводу є лише 101 рядок. Це сталося тому, що міра має два ітератори або функції X.
Це повністю розгорнута форма вимірювання, яке було виконано:
Він повторює таблицю Fact Sales. Потім він повторює знову з використанням CallBackDataID. Скорочений формат цього заходу має на увазіфункція, яка викликає перехід контексту та матеріалізує таблицю. Ось чому він витягнув 15 003 рядки, навіть якщо для виведення є лише 101 рядок.
Запустіть іншу міру, яка не має вкладених ітераторів. Він все ще повторює таблицю Fact Sales за допомогою AVERAGEX , але поточна ціна знаходиться поза функцією. Він відфільтровує продукти, поточна ціна яких перевищує або дорівнює 500, а потім обчислює середнє значення.
Ви бачите, що він має лише 2 сканування, 104 рядки та не має CallBackDataID. Отже, якщо ви використовуєте CALCULATE , ви можете позбутися вкладених ітераторів і CallBackDataIDs .
Висновок
Є багато причин повільної роботи DAX. Одна з них пов’язана з вкладеними ітераторами, які викликають непотрібні контекстні переходи. Ці ітератори матеріалізують більше рядків, ніж потрібно, через що ваші запити сповільнюються.
Найкращим рішенням для цього є розмістити його всередині CALCULATE . Це зменшує роботу механізму формул і максимізує можливості механізму зберігання.
Цей підручник містить огляд редактора Power Query і мови M на робочому столі LuckyTemplates.
Дізнайтеся, як створити звіт із розбивкою на сторінки, додати тексти та зображення, а потім експортувати звіт у різні формати документів.
Дізнайтеся, як використовувати функцію автоматизації SharePoint для створення робочих процесів і допомоги в мікрокеруванні користувачами, бібліотеками та списками SharePoint.
Відточіть свої навички розробки звітів, приєднавшись до змагання з аналізу даних. Прискорювач може допомогти вам стати суперкористувачем LuckyTemplates!
Дізнайтеся, як обчислювати поточні підсумки в LuckyTemplates за допомогою DAX. Поточні підсумки дозволяють вам не потрапити в окремий результат.
Зрозумійте концепцію змінних у DAX у LuckyTemplates і значення змінних для обчислення показників.
Дізнайтеся більше про настроюваний візуал під назвою LuckyTemplates Slope chart, який використовується для показу зростання/зменшення для одного чи кількох показників.
Відкрийте для себе кольорові теми в LuckyTemplates. Це необхідно для того, щоб ваші звіти та візуалізації виглядали та працювали без проблем.
Розрахувати середнє значення в LuckyTemplates можна кількома способами, щоб отримати точну інформацію для ваших бізнес-звітів.
Давайте заглибимося в стандартну тематику LuckyTemplates і розглянемо деякі функції, вбудовані в саму програму LuckyTemplates Desktop.