Функція ALL є надзвичайно важливою частиною мови DAX у LuckyTemplates. Його можна використовувати різними способами у формулах.
При ефективному використанні ви можете легко обчислювати результати, намагаючись поєднати логіку у своїх формулах із фільтрацією, доступною в моделі даних.
Простіше кажучи, функція ALL може видалити будь-який контекст, який надходить із будь-якого фільтра або розміру, який ви вирівняли з формулою.
Це ідеально підходить у ситуаціях, наприклад, коли ви хочете обчислити відсоток від загальної суми.
Коли використовувати цю функцію?
Оптимальний час для використання ALL у ваших формулах – це коли вам потрібно видалити або налаштувати контекст обчислення, який ви хочете виконати.
Найпоширенішою функцією, яка використовується в поєднанні з ALL, є.
Бувають випадки, коли ви також будете використовувати ALL у поєднанні з функцією FILTER.
Ідея полягає в тому, що у формулі ви можете налаштувати віртуальну таблицю/контекст, застосований до вашої логіки, перш ніж виконувати будь-які обчислення у вашій моделі.
Як використовувати функцію ALL?
Я покажу вам, як використовувати цю функцію в LuckyTemplates під час розрахунку відсотка продажів у певному регіоні порівняно з усіма коли-небудь здійсненими продажами.
Щоб зробити це логічно, вам потрібно розділити продажі в регіоні на загальні продажі в усіх регіонах. Однак отримати продажі в кожному регіоні не так просто завдяки природному фільтруванню, яке відбуватиметься у ваших моделях.
Ось де функція ALL ідеально підходить для вирішення цієї проблеми. У поєднанні з функцією CALCULATE ви можете видалити будь-які регіональні фільтри та встановити правильний знаменник, щоб обчислення було правильним.
У цьому випадку ми посилалися на стовпець імен клієнтів і об’єднали його з CALCULATE, щоб загальна сума всіх продажів могла служити знаменником для обчислення відсотка продажів.
Але ви не тільки можете видалити фільтри для кожного імені клієнта, за допомогою цієї функції LuckyTemplates ви також можете видалити фільтрування, що надходить з будь-якого стовпця в певній таблиці.
На цьому зображенні нижче я покажу вам, що я маю на увазі. Ви помітите, як у стовпці «ВСІ продажі» просто повторюються дані зі стовпця «Загальні продажі».
Це тому, що параметр функції ALL посилається на певний стовпець, і цей стовпець не є стовпцем імен клієнтів.
Щоб виправити це, нам потрібно посилатися на всю таблицю, а не лише на певний стовпець. Ви можете видалити фільтрацію з будь-якого стовпця в таблиці, посилаючись на всю таблицю всередині функції ALL.
Дивіться, наприклад, формулу нижче та відповідні зміни в таблиці.
Інший спосіб подумати про функцію ALL
Сподіваємось, ви вже зрозуміли, що ALL видаляє будь-які фільтри чи контекст у вашому обчисленні.
Інший спосіб подумати про те, що насправді робить ALL у ваших формулах, це уявити, що всякий раз, коли ви посилаєтеся на цю конкретну функцію, ви створюєте віртуальну таблицю або список кожного окремого рядка інформації з параметрів, які були введені.
Це особливо важливо, якщо ви використовуєте ALL як параметр таблиці всередині функції FILTER.
Прекрасним прикладом цього є шаблон CUMUMALIVE TOTAL, детально описаний у цій конкретній статті блогу.
Висновок
Таким чином, думайте про функцію ALL як про функцію «видалити всі фільтри». Тут можна розмістити таблицю або стовпець, і важливо розуміти наслідки того чи іншого.
Щоб отримати більше прикладів того, як ви можете використовувати ALL, перегляньте ці посилання нижче.