Перша функція, з якої необхідно починати вивчення DAX є CALCULATE. Дана функція не має точного аналога в Excel, проте її можна порівняти з функціями SUMIFS та COUNTIFS. Якщо коротко, то дана функція виконує накладення фільтрів на інші розрахункові функцї, тим самим ми можемо відбирати та включати в розрахунки лише потрібні нам дані.
=CALCULATE(<статистичний вираз>, <фільтр1>, <фільтр2>, ... )
<статистичний вираз>
Статистичний вираз має нам повернути результат обчислення (значення, а не таблицю). По цій причині в цьому параметрі часто використовуються статистичні функції типу SUM, MIN, MAX, COUNTROWS тощо.
<фільтр1>, <фільтр2>, ...
Фільтр визначає діапазон даних над якими потрібно працювати. Тут зазначаються умови для відбору значень.
Припустимо ми маємо таку таблицю, яка називається
Давайте на її основі створимо зведену таблицю та підрахуємо кількість записів для кожного продукту.
Тепер давайте створимо нове розрахункове поле
Яким чином ми отримали в розрахунковому полі Count_All_Product цифри 16? Пояснення в тому, що ми зняли для цього поля всі фільтри, які були застосовані в зведеній таблиці (кожен рядок в зведеній таблиці це є окремий фільтр), за допомогою функції ALL(). Тобто, інакше кажучи, функція ALL (
Давайте добавимо ще одне поле
Бачимо, що цифри в полі
=CALCULATE(COUNTROWS(Demo);ALL(Demo[Product]))
Ми змінили аргумент для функції ALL(), замінивши
Отже бачимо, що на поле