Застосування віконних функцій

Аналіз часових рядів у Power BI

Kevin Barlow

Data Analytics Professional

Контекст і важливість

Expanding і Rolling віконні функції можна застосовувати багатьма способами!

Є кілька обчислень, які можна робити для певних періодів:

- RANK()
- LOOKUPVALUE()
- CHISQ.INV()
- GEOMEAN()
Аналіз часових рядів у Power BI

SAMEPERIODLASTYEAR vs. PARALLELPERIOD

SAMEPERIODLASTYEAR()

Повертає таблицю з колонкою дат, зсунутих на один рік назад від дат у вказаній колонці дат, у поточному контексті.

SAMEPERIODLASTYEAR(<dates>)

PARALLELPERIOD()

Повертає таблицю з колонкою дат, що представляє період, паралельний датам у вказаній колонці, у поточному контексті, зі зсувом на певну кількість інтервалів уперед або назад у часі.

PARALLELPERIOD(<dates>,
    <number_of_intervals>,
    <interval>)
1 https://learn.microsoft.com/dax
Аналіз часових рядів у Power BI

Аналіз того самого вікна, що й торік

Іноді потрібно побачити, як це саме вікно виглядало торік.

  • Застосовує віконну функцію до старіших даних.
  • Дає контекст: яким було те саме обчислення.
  • Швидко рахує показники в різні моменти часу.

Типові кроки такого аналізу:

  1. Обчисліть важливу метрику або KPI для поточного року.
  2. Застосуйте те саме обчислення до інших подібних періодів.
  3. Обчисліть різницю між значеннями, щоб зрозуміти масштаб змін.
Аналіз часових рядів у Power BI

Приклади аналізу того самого вікна, що й торік

В індустрії такі аналізи дуже поширені. Вони дають два ключові орієнтири:

  1. Як наша організація виконує певний KPI у контексті поточного року?
  2. Як ми виглядаємо в контексті того самого періоду й KPI торік? Чи є прогрес?
Avg Cost = CALCULATE(
    AVERAGE(stores[cost]),
    stores[date] >= 
        DATEADD(TODAY(), -30, DAY))

LY Avg Cost = CALCULATE([Avg Cost],
    SAMEPERIODLASTYEAR(stores[date]))
Аналіз часових рядів у Power BI

Розрахунок зміни рік до року

Можна точно порахувати, як дані змінилися відносно торішніх, застосувавши вікно до історичних даних.

  • Відомо як розрахунок Year-over-Year (YoY)
  • Показує прогрес порівняно з історією
  • Зазвичай подається як відсоток зміни
# Припустімо, поточний місяць — лютий

CY Jan Revenue = CALCULATE(
    SUM(sales[revenue]),
    PREVIOUSMONTH(sales[date]))

LY Jan Revenue = CALCULATE(
    [CY Jan Revenue],
    SAMEPERIODLASTYEAR(sales[date]))

Jan Revenue YoY = (
    ([CY Jan Revenue]-[LY Jan Revenue])
        / [LY Jan Revenue])
Аналіз часових рядів у Power BI

Давайте потренуємось!

Аналіз часових рядів у Power BI

Preparing Video For Download...