Основная задача:
При выборе месяца в слайсере, показать в матрице:
· факт за весь прошлый год,
· план на весь текущий год,
· поквартально факт текущего года, но со сдвигом в -1 квартал от текущего выбранного и обнулением в новом году (поступление данных с запозданием в квартал).
Дополнительные требования:
Выбор периода осуществляется по месяцу. В заголовках столбцов матрицы должны так же автоматически меняться названия, в зависимости от выбора в календаре.
Порядок решения:
1. Пишем основные меры, которые будут участвовать в расчетах Field Parameters;
2. Формируем несколько таблиц FP, так как они будут выступать в роли столбцов в матрице.
Для Sales PY меняем имя параметра следующей конструкцией:
Sales PY =
GENERATE(
ALLNOBLANKROW('Calendar'[Year]),
{
(FORMAT([Year]-1,"yyyy"), NAMEOF('_Measures'[Amount PY]), 0)
}
)
3. Plan CY. Принцип такой же как был описан ранее;
4. Создаём последний параметр, который будет служить для расчета показателей поквартально. Для этого помещаем в FP сразу три меры : [Amount Q1], [Amount Q2], [Amount Q3].
5. Меняем DAX последнего параметра:
FC =
FILTER(
GENERATE(
FILTER(
CROSSJOIN(
SELECTCOLUMNS(ALLNOBLANKROW('Calendar'[Quarter]),"CurentQuarter",[Quarter]),
ALLNOBLANKROW('Calendar'[Quarter])
),
DAY([CurentQuarter])>DAY([Quarter])
&&YEAR([CurentQuarter])=YEAR([Quarter])
),
{
("FC1 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q1]), 0),
("FC2 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q2]), 1),
("FC3 "&YEAR([Quarter]), NAMEOF('_Measures'[Amount Q3]), 2)
}
),
[Value3]=INT(DAY([Quarter]))-1
)
👉🏻Скачать PBIX👈🏻
✅ Только для облака







