Фільтрування та підрахунок у DAX

Функції DAX у Power BI

Maarten Van den Broeck

Content Developer at DataCamp

Функції фільтрації

  • Фільтри застосовуються у контексті фільтра
  • Фільтри мають пріоритет над будь-яким візуалом
Total Sales = SUM(Orders[Sales])

Функції DAX у Power BI

Функції фільтрації

  • Фільтри застосовуються у контексті фільтра
  • Фільтри мають пріоритет над будь-яким візуалом
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Використовується з проміжними функціями
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Регіон Загальні продажі
Central $501,239.89
East $678,781.24
South $391,721.91
West $725,457.82
РАЗОМ $2,297,200.86
Функції DAX у Power BI

Функції фільтрації

  • Фільтри застосовуються у контексті фільтра
  • Фільтри мають пріоритет над будь-яким візуалом
Total Sales = SUM(Orders[Sales])
CALCULATE(<expression>, 
            <filter1> , [<filter2> [, ...]])
  • Використовується з проміжними функціями
Total Sales ALL = CALCULATE(
                    [Total Sales],
                    ALL(Orders))

$$ $$ $$

Регіон Загальні продажі Загальні продажі ALL
Central $501,239.89 $2,297,200.86
East $678,781.24 $2,297,200.86
South $391,721.91 $2,297,200.86
West $725,457.82 $2,297,200.86
РАЗОМ $2,297,200.86 $2,297,200.86
Функції DAX у Power BI

Більше варіантів фільтрації

  • FILTER(<table>, <filter>)
    • Повертає відфільтровану таблицю
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Функції DAX у Power BI

Більше варіантів фільтрації

  • FILTER(<table>, <filter>)
    • Повертає відфільтровану таблицю
Total Sales Chuck = 
CALCULATE(
    [Total Sales],
    FILTER(Fact_Orders,
        RELATED(Dim_Sales[Salesperson]) = "Chuck"))
Загальні продажі Загальні продажі Chuck
$2,297,200.86 $235,856.05

$$

  • RELATED() використовується, щоб повертати значення з іншої таблиці
Функції DAX у Power BI

Більше варіантів фільтрації

  • CROSSFILTER(<col1>, <col2>, <direction>)
    • Задає напрям крос-фільтрації між двома стовпцями

Односпрямований зв'язок між двома таблицями, Fact_Orders і Dim_Returns

CROSSFILTER(Dim_Returns[Order ID], 
            Fact_Orders[Order ID],
            Both)
  • Перевизначає напрям зв'язку в моделі даних
Функції DAX у Power BI

Переваги фільтрації в DAX

  • Поліпшує продуктивність
    • Відфільтровуйте зайві дані
    • Визначайте конкретні зв'язки між таблицями
  • Повторне використання
    • Посилайтесь на інші обчислювані міри
  • Складніші обчислення
    • Лаконічний синтаксис
Функції DAX у Power BI

Підрахунок

  • COUNT(<column>)
    • Повертає кількість рядків із числами, датами або рядками у стовпці
  • COUNTA(<column>)
    • Повертає кількість рядків із числами, датами, рядками або булевими значеннями у стовпці
  • COUNTBLANKS(<column>)
    • Повертає кількість порожніх рядків
  • DISTINCTCOUNT(<column>)
    • Повертає кількість унікальних значень у стовпці
  • COUNTROWS(<table>)
    • Повертає кількість рядків із числами, датами та рядками у таблиці
Функції DAX у Power BI

Давайте потренуємось!

Функції DAX у Power BI

Preparing Video For Download...