DAX-Урок 3. Функція відбору даних FILTER

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

Синтаксис функції FILTER()

     =FILTER(<таблиця>, <фільтр>)

<таблиця>

Таблиця, яку ми хочемо відфільтрувати. Також, може бути вираз, який повертає таблицю як результат.

  1. 'НазваТаблиці'
  2. ALL('НазваТаблиці') або ALL('НазваТаблиці'[НазваКолонки])
  3. FILTER('НазваТаблиці', 'НазваТаблиці'[НазваКолонки] = "Зелений")
  4. VALUES('НазваТаблиці'[НазваКолонки])

<фільтр>

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

  1. [НазваКолонки] = “Авто
  2. [НазваКолонки] >= 6

Давайте розглянемо як це виглядяє на практиці. Припустимо ми має таку таблицю, яка називається Demo:

Нам потрібно підрахувати кількість записів для товару Bikes (велосипеди) та вивести результат у зведену таблицю. Для цього запишемо таку формулу:

=CALCULATE(COUNTROWS(Demo);FILTER(Demo;Demo[Product]="Bikes"))

Як результат отримаємо такі значення в полі Count_All_Product:

Що зробила функція FILTER? Вона зменшила розміри таблиці, так як це ми робимо в Excel, встановивши фільтр в колонці Product та відфільтрувавши лише записи зі значеннями Bikes:

Потім порахувала кількість усіх рядків в зменшеній таблиці. Бачимо, що в інших рядках немає записів по полю Count_All_Product, оскільки в новій таблиці відсутні ковзани (Skates) та сноуборди (Snow Board).

Статті по темі:

  • DAX-Урок 2. Функція CALCULATE