Переключение неравных периодов с помощью Field Parameters. Довольно…

📈 Переключение неравных периодов
с помощью 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 с подробным описанием внутри👈🏻
🔥28👍9❤1
16 февраля 2024 г. 14,8 тыс. 167