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

Зіркова схема і зв’язки

Надійна semantic model має простий filter path: унікальні dimensions фільтрують facts через one-to-many relationships. Зірка робить DAX передбачуванішим, а QA — доказовим.

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

Базовий relationship contract

One side

Dimension key унікальний і без blank.

Many side

Fact foreign key повторюється відповідно до grain.

Direction

Single: dimension → fact за замовчуванням.

Integrity

Orphan foreign keys = 0 або documented unknown member.

Power BI може автоматично знайти relationship, але не знає бізнес-семантики. Перевірте columns, cardinality, active state й filter direction вручну.

Чому не варто з’єднувати fact із fact

fact_sales має grain order line, а fact_targets — month × channel. Прямий join розмножить targets. Обидві таблиці мають фільтруватися спільними dim_date і dim_channel; міра variance порівнює агрегати в одному filter context.

Bi-directional filtering — не універсальний fix

Both direction може створити ambiguous paths, неочікувані totals і performance cost. Вмикайте його лише для конкретної, протестованої потреби.

Many-to-many потребує явної семантики

Якщо один customer належить кільком segments, створіть bridge з унікальними парами customer_key + segment_key. Визначте allocation rule: чи кожний продаж рахується повністю в кожному segment, чи розподіляється вагою. Без цього total за segments не узгодиться з grand total.

СимптомРішення
duplicate key на one sideочистити dimension або створити surrogate key
кілька шляхів між таблицямизалишити один active path, переробити model
fact-to-factспільні conformed dimensions
labels у factвинести повторювані атрибути в dimension

Практика

  • Імпортуйте lab tables і створіть star schema.
  • Перевірте, що кожний relationship має dimension на «1» і fact на «*».
  • Залиште single-direction filtering.
  • Побудуйте orphan-key і duplicate-dimension QA.
  • Створіть Revenue, Target і Variance без прямого fact-to-fact join.

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

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

Ви будуєте one-to-many зірку, знаєте напрямок фільтрації, знаходите ambiguous paths і моделюєте різні facts через conformed dimensions.

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

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

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

1. Яка cardinality типова для star schema?
2. Який filter direction є безпечним default?
3. Що довести на one side?