Коли DAX обчислює щось у LuckyTemplates, це відбувається за допомогою двоетапного процесу. Спочатку він оцінює контекст, у якому він зараз знаходиться. Коли це зроблено, він вирішує, як я збираюся обчислити ці результати, і тут вступають у гру інші два контексти.
У цій конкретній статті ми зосередимося на. Я наведу тут простий приклад, щоб пояснити, що це насправді означає.
Тут ми маємо просту таблицю, яка вимірює кількість або кількість того, що ми продали за день.
Давайте швидко оцінимо, що робить ця формула. Це підсумовування стовпця "Кількість" у таблиці "Продажі".
Коли ми перейдемо до таблиці Sales, ми побачимо, що міра підраховує стовпець Quantity як 1 для всіх рядків.
Щоб отримати результати в стовпці «Загальна продана кількість», ми використовуємо ту саму формулу. Для жодного з цих результатів нічого не змінюється. Єдине, що спочатку змінюється, це контекст оцінювання .
Для кожного окремого рядка ми маємо інший контекст оцінки . І через це ми отримуємо різний результат для кожного окремого рядка.
Що таке розповсюдження фільтрів?
Тепер за лаштунками відбувається те, що для кожного окремого рядка тут до даних розміщується фільтр.
Повернемося до таблиці даних нашої моделі. У контексті оцінювання стовпець «Дата» походить із таблиці «Дати». Отже, тут до стовпця Дата встановлюється фільтр.
Коли ми розміщуємо цей фільтр, він переходить до цього зв’язку з таблицею Sales і автоматично фільтрує таблицю. Це те, що ви називаєте поширенням фільтра.
Будь-який фільтр, який переходить від однієї сторони до міні-сторони, фільтруватиме цю таблицю.
Отже, у цьому конкретному прикладі контекст починається з таблиці «Дати», а потім автоматично переходить до таблиці «Продажі». І тому ми отримуємо різний результат для кожного окремого рядка.
Кожного разу, коли ви перевіряєте або оцінюєте, що робить формула, вам потрібно щоразу думати про контекст оцінювання .
Це тому, що все завжди починається з контексту оцінювання. Це важливо, коли ви починаєте розробляти все більш досконалі формули DAX.
Контекст оцінювання при написанні розширеної формули
Ще одна чудова особливість контексту оцінювання полягає в тому, що він є справжньою силоюформула.
Це дозволяє швидко отримати багато результатів, написавши прості формули.
Те ж саме можна сказати і про написання розширених формул. Ви можете використати розширену формулу, порівняти її з іншим контекстом оцінювання та отримати численні різні результати дуже швидко.
Тож ми просто внесли тут невеликі зміни та додали назву продукту в нашу першу таблицю. Формула DAX не змінилася взагалі, але змінився контекст оцінювання . Ось чому ми маємо тут різні результати.
Той самий процес також працює в цьому прикладі, де контекст оцінки цих результатів починається з таблиці «Продукти» та проходить через стовпець «Назва продукту».
Цей процес фільтруватиме кожен окремий рядок. Отже, незалежно від того, яка конкретна назва продукту використовується, вона фільтруватиме весь зв’язок, а потім також фільтруватиме базову таблицю продажів.
Висновок
Це лише короткий огляд того, що таке контекст оцінювання . Все, що вам потрібно зробити вце змінити контекст, і ви отримаєте зовсім інший результат.
Дуже важливо зрозуміти, як це працює, оскільки у вашому розумі ви повинні думати, який поточний контекст оцінки формули.
Це призведе до розуміння того, чому ви отримуєте конкретний результат у конкретному контексті.
Деякі рекомендовані посилання для вас, щоб ви могли дізнатися більше про застосування трьох контекстів у LuckyTemplates: