с помощью Field Parameters.
Довольно часто для решения UXUI задач требуется автоматически переключать оси графиков, минуя встроенный механизм Drill-down.
ЗАДАЧА
Автоматическое изменение гранулярности оси по условиям:
🔶 если выбран 1 месяц, то выводить ось по датам;
🔶 если выбрано несколько месяцев, изменить грануляцию оси на месяцы;
🔶 если выбрано несколько лет, изменить грануляцию оси на года.
======================================
Последовательность решения:
1. Формируем необходимую таблицу параметров через Новый параметр и выбираем поля из Календаря (Год-Месяц-Дата)
2. Помещаем поле [Month_Date_Axys] в ось нашего графика, а в Slicer поместим год и месяц из таблицы Calendar.
3. Пишем меру, которая будет проверять какой период выбран:
Filter =
VAR _countmonths = CALCULATE(COUNTROWS(VALUES('Calendar'[Month])),ALLSELECTED('Calendar'))
VAR _filter =
SWITCH(
TRUE(),
_countmonths=1,0,
_countmonths<13,1,
2
)
RETURN
COUNTROWS(
FILTER(
VALUES('Month_Date_Axys'[Month_Date Order]),
'Month_Date_Axys'[Month_Date Order]=_filter
)
)
4. Помещаем меру в панель фильтров на уровень визуального элемента и применяем TOPN =1 фильтрацию.
👉🏻PBIX с подробным описанием внутри👈🏻


