Запити DAX із використанням змінних і важливих функцій

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

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

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

Зміст

Створюйте запити DAX за допомогою CALCULATE і FILTER

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

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

Запити DAX із використанням змінних і важливих функцій

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

Наступний захід - використаннявсередині. Якщо ви згадаєте з модуля CallBackDataID , використання IF у функції SUMX створить CallBackDataID .

Запити DAX із використанням змінних і важливих функцій

Цей захід фільтрує всю таблицю Fact Sales. Він видаляє фільтри, що надходять із таблиці дат.

Запити DAX із використанням змінних і важливих функцій

Ви повинні бути обережними, фільтруючи всю таблицю, оскільки вона також фільтруватиме всі стовпці, які знаходяться на одній стороні зв’язку «один до багатьох».

Ця мірка така ж, як і попередня; єдина відмінність полягає в тому, що він не фільтрує всю таблицю. Він використовує SUMX лише для ітерації відфільтрованої таблиці.

Запити DAX із використанням змінних і важливих функцій

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

Запити DAX із використанням змінних і важливих функцій

Останнім заходом є використання CALCULATE і моделі даних для фільтрації та отримання даних.

Запити DAX із використанням змінних і важливих функцій

Запустіть і перевірте кожен захід

Спочатку виконайте вимірювання IF . Обов’язково очистіть кеш-пам’ять, перш ніж запускати запит, і ввімкніть часові параметри сервера та план запитів.

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

Хоча він надає правильні дані, продуктивність повільна через CallBackDataID і 3 тривалості.

Якщо ви запустите міру, яка фільтрує всю таблицю Fact Sales, ви все одно зможете побачити CallBackDataID . Він також створить 15 003 рядки та надасть неправильні результати.

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

Якщо ви запустите міру, яка не фільтрує всю таблицю Fact Sales, ви отримаєте правильні результати. Однак ви все одно побачите CallBackDataID і матеріалізовані 15 003 рядки, але матимете лише 7 рядків виводу.

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

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

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

Виконайте вимірювання CALCULATE . Ви бачите, що він матеріалізував лише 10 рядків і згенерував правильні дані за 5 мілісекунд.

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

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

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

Запити DAX із використанням змінних і важливих функцій

Запити DAX із використанням змінних і важливих функцій

Висновок

Перемістивши фільтри на CALCULATE, ви заощадите час і матеріалізацію, оскільки CallBackDataID буде усунено. Вам не доведеться повторювати дані двічі. Це також максимізує продуктивність вашого 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

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