Data Analyst Professional · Модуль 11 · Урок 37 із 51

Міри, calculated columns і контекст

DAX — це мова обчислень semantic model. Її головна ідея не «формула як в Excel», а одна міра, що переобчислюється для кожного filter context: visual row, slicer, page filter і relationships.

120 хвMeasure semanticsМінітест: 3 питання

Оберіть правильний тип обчислення

Об’єктКоли обчислюєтьсяЗберігаєтьсяДля чого
Power Query columnпід час refreshтакочищення, категорія, reusable row attribute
DAX calculated columnпід час refresh, для кожного rowтакmodel-side row attribute, sort/group/key logic
Measureпід час queryлише definitionдинамічна aggregation, ratio, KPI

Revenue, margin %, distinct orders і YoY мають бути measures: їхній результат залежить від filters. Calculated column збільшує модель і не переобчислюється від slicer.

Row context і filter context

Row context

«Поточний рядок» у calculated column або iterator.

Filter context

Дозволені values у columns із visual, slicers, formulas і relationships.

Measure

Обчислюється в поточному filter context.

Relationship

Передає filter від dimension до fact.

Measure Revenue := SUM(fact_sales[revenue]) одна, але кожна cell matrix має свій context. Grand total — окреме обчислення без row-level group filter, а не автоматична сума видимих cells.

Почніть із явних базових мір

Revenue := SUM ( fact_sales[revenue] ) Cost := SUM ( fact_sales[cost_amount] ) Profit := [Revenue] - [Cost] Orders := DISTINCTCOUNT ( fact_sales[order_id] )

Використовуйте measures як building blocks, задайте format string, description і display folder. Не покладайтеся на implicit SUM у visuals: явна міра має ім’я, owner і definition, яке можна тестувати.

Variables роблять намір видимим

Margin % := VAR RevenueValue = [Revenue] VAR ProfitValue = [Profit] RETURN DIVIDE ( ProfitValue, RevenueValue )

VAR обчислюється один раз у context, де оголошена. Це скорочує повтори й полегшує debug, але variable не «переобчислюється» автоматично всередині наступного CALCULATE.

DAX-лабораторія

Завантажити DAX lab (.zip)

  • Розгорніть model lab модуля 10 і створіть star schema.
  • Створіть базові explicit measures з пакета.
  • Перевірте одну measure в total, year, month, channel і empty context.
  • Порівняйте модельний розмір calculated column і measure.
  • Заповніть перші рядки measure test matrix.

Офіційні джерела

Готовність до тесту

Ви вибираєте між transform, calculated column і measure, пояснюєте row/filter context та створюєте явні базові міри з format і validation contract.

Практична перевірка · урок 37 з 51

Закріпіть матеріал уроку

Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.

1. Коли обчислюється DAX measure?
2. Коли обчислюється calculated column?
3. Що таке row context?