Способы создания мер DAX

Функции DAX в Power BI

Carl Rosseel

Curriculum Manager

Неявные и явные меры

Неявные

  • Создаются Power BI автоматически
  • Берутся непосредственно из базы данных
  • Пример: при перетаскивании Sales в значения таблицы Power BI автоматически суммирует их
  • Через выпадающее меню можно задать агрегацию: сумма, среднее, количество, ...

Явные

  • Меры задаются явным образом
  • Пример: Total Sales = SUM(Orders[Sales])
  • Обеспечивают гибкость
Функции DAX в Power BI

Почему явные меры предпочтительнее

  • Устраняет неоднозначность в понимании меры
    • Total Sales = SUM(Orders[Sales])
    • Total Sales понятнее, чем Sales (SUM, AVG, MIN, ... ?)
  • Можно повторно использовать в других мерах
    • Total Sales East = CALCULATE([Total Sales],Orders[Region] = 'East')
  • Можно задать понятное имя, отражающее назначение
  • Упрощает поддержку сложных моделей
Функции DAX в Power BI

Рекомендации

  • Группируйте меры DAX вместе:
    • Меры можно перемещать в любую таблицу
    • В отличие от вычисляемых столбцов, которые привязаны к конкретной таблице

Screenshot 2021-07-22 at 11.22.15.png

  • Форматируйте и комментируйте код DAX:
    • Используйте отступы для улучшения читаемости
      • Shift Enter — новая строка
      • Tab — отступ
    • Добавляйте комментарии после //
Функции DAX в Power BI

Использование переменных для улучшения формул

  • Сохраняет результат выражения в именованной переменной
  • Можно использовать как аргумент в других выражениях мер

  • Четыре основных преимущества:

    • Повышение производительности
    • Улучшение читаемости
    • Упрощение отладки
    • Снижение сложности

Синтаксис:

  • VAR <name> = <expression>
    • Name = имя переменной
    • Выражение DAX, возвращающее скалярное значение или таблицу
    • Следует оператор RETURN
Функции DAX в Power BI

Использование переменных для улучшения формул — пример

  • Вычислите продажи за прошлый год и сохраните результат в переменной
VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN
  • Используйте переменную в формуле
Sales growth = [Sales] - SALESPRIORYEAR
Функции DAX в Power BI

Использование переменных для улучшения формул — пример

  • В итоге всё вместе выглядит так:
Sales growth = 

VAR 
SALESPRIORYEAR = CALCULATE([SALES],SAMEPERIODLASTYEAR('DATE'))
RETURN

Sales growth = [Sales] - SALESPRIORYEAR
Функции DAX в Power BI

Давайте потренируемся!

Функции DAX в Power BI

Preparing Video For Download...