Time Intelligence: порівняння в часі MoM та YoY
Фінальний урок курсу. Ти навчиш Power BI подорожувати в часі: побудуєш календарну таблицю, зʼєднаєш її з даними та порахуєш зміну трафіку місяць-до-місяця й рік-до-року. І дізнаєшся, чому DATEADD іноді повертає порожньо.
← Усі уроки курсу «Power BI для SEO»

Календарна таблиця — must have
Трафік виріс на 10%. Це добре чи погано? Якщо минулого місяця він упав на 50% — то погано. Щоб бачити контекст, дані треба порівнювати в часі: MoM (місяць-до-місяця) та YoY (рік-до-року).
Щоб «магія часу» працювала, Power BI потрібна окрема суцільна таблиця дат. Створюється одним рядком: на вкладці Modeling → New Table:
1. Признач таблицю датовою: виділи Calendar → вкладка Table tools → Mark as Date Table, вкажи колонку Date.
2. У Model View зʼєднай Calendar[Date] з полем дати у своїх даних (наприклад GSC Data[Date]) — просто перетягни одне поле на інше.
Чому це критично: DAX-функції на кшталт DATEADD вимагають суцільної колонки дат і звʼязку з фактами. Без звʼязку міра «минулий місяць» поверне порожньо.
Міра замість колонки
Досі ми робили Calculated Column. Тепер — Measure (міра). Міра не займає памʼять і рахується «на льоту» під поточний контекст фільтрів. Створи міру суми кліків (Right click на таблиці → New Measure):
Формула минулого місяця
А тепер головне. Скажемо Power BI: «порахуй кліки, але зміщені на місяць назад».
CALCULATE(
[Total Clicks],
DATEADD(‘Calendar’[Date], -1, MONTH)
)
PM = Previous Month. Тепер у тебе дві цифри: «кліки зараз» і «кліки місяць тому».
YoY і відсоток зміни
За тією ж логікою рахується рік-до-року — функцією SAMEPERIODLASTYEAR:
CALCULATE(
[Total Clicks],
SAMEPERIODLASTYEAR(‘Calendar’[Date])
)
А щоб бачити не абсолютну різницю, а відсоток зростання — додай міру зміни через DIVIDE (він безпечно ділить на нуль):
У форматі поля постав відсотки — і KPI показуватиме, скажімо, +12% або −8%.
Фінальний акорд: KPI-картка
- Обери візуал Card або KPI.
- Додай туди міри Total Clicks і MoM %.
- Через conditional formatting задай колір: зелений при зростанні, червоний при падінні — і звіт сам сигналізує про проблеми.
Що далі
Наступний крок — поділитися звітом. Натисни Publish і завантаж звіт у Power BI Service, щоб надіслати клієнту посилання. Памʼятай з Уроку 1: щоб ділитися звітами й давати доступ іншим, потрібна ліцензія Pro або PPU. Будувати ж і вчитися можна безкоштовно скільки завгодно.
Домашнє завдання
- Створи таблицю Calendar, признач її Date Table і зʼєднай із полем дати даних.
- Зроби міри Total Clicks, Clicks PM і MoM %.
- Виведи KPI-картку з кольоровим індикатором зростання/падіння.
Часті питання
Найчастіша причина — календарну таблицю не позначено як Date Table або вона не звʼязана з таблицею фактів. DATEADD вимагає суцільної колонки дат і звʼязку Calendar[Date] з полем дати у даних. Признач таблицю через Mark as Date Table і створи звʼязок у Model View — і міра почне рахуватися.
Через Measure. Міри рахуються «на льоту» під поточний контекст фільтрів і не займають памʼять, тому саме вони підходять для порівнянь у часі. Calculated Column тут не дасть правильної динаміки, бо обчислюється один раз на рівні рядка.
MoM (month-over-month) порівнює поточний період із попереднім місяцем — його рахують через DATEADD зі зміщенням на -1 місяць. YoY (year-over-year) порівнює з тим самим періодом торік і рахується функцією SAMEPERIODLASTYEAR. YoY корисніший для сезонного бізнесу, бо гасить місячні коливання.
Зміст курсу
Ти пройшов увесь курс
Повертайся до будь-якого уроку зі змісту вище або застосуй Power BI на реальному проєкті з SEOWORK.