Анализ временных рядов в Power BI
Kevin Barlow
Data Analytics Professional
Расширяющиеся и скользящие оконные функции применяются самыми разными способами!
К конкретным периодам времени можно применять несколько вычислений:
- RANK()
- LOOKUPVALUE()
- CHISQ.INV()
- GEOMEAN()
SAMEPERIODLASTYEAR()
Возвращает таблицу со столбцом дат, сдвинутых на один год назад относительно дат в указанном столбце, в текущем контексте.
SAMEPERIODLASTYEAR(<dates>)
PARALLELPERIOD()
Возвращает таблицу со столбцом дат, соответствующих периоду, параллельному датам в указанном столбце, в текущем контексте, со сдвигом на заданное количество интервалов вперёд или назад.
PARALLELPERIOD(<dates>,
<number_of_intervals>,
<interval>)
Иногда полезно посмотреть, как выглядело то же самое окно год назад.
Типичные шаги такого анализа:
В индустрии подобные анализы очень распространены. Они дают два ключевых показателя:
- Как организация выполняет определённый KPI в контексте текущего года?
- Как мы справляемся в контексте того же периода и KPI за прошлый год? Есть ли улучшения?
Avg Cost = CALCULATE(
AVERAGE(stores[cost]),
stores[date] >=
DATEADD(TODAY(), -30, DAY))
LY Avg Cost = CALCULATE([Avg Cost],
SAMEPERIODLASTYEAR(stores[date]))
Можно точно рассчитать, как данные изменились за год, применив окно к историческим данным.
# Assuming current month is February
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