Data Analyst Professional · Модуль 11 · Урок 37 із 51
Міри, calculated columns і контекст
DAX — це мова обчислень semantic model. Її головна ідея не «формула як в Excel», а одна міра, що переобчислюється для кожного filter context: visual row, slicer, page filter і relationships.
Оберіть правильний тип обчислення
| Об’єкт | Коли обчислюється | Зберігається | Для чого |
|---|---|---|---|
| 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
«Поточний рядок» у calculated column або iterator.
Дозволені values у columns із visual, slicers, formulas і relationships.
Обчислюється в поточному filter context.
Передає 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-лабораторія
- Розгорніть 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.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.