Таблица условного календаря DAX в Power BI с оператором Switch или if

#date #if-statement #powerbi #switch-statement #dax

Вопрос:

Цель: создать динамическую таблицу календаря, которая зависит от выбора среза.

Контекст: Для уменьшения размера панели мониторинга, которую я создаю, данные предоставляются ежедневно за последние 90 дней и агрегируются ежемесячно за предыдущие 18 месяцев. Срез даты используется для фильтрации данных, но я хочу, чтобы диапазон этого среза отражал используемый диапазон дат.

Цель состоит в том, чтобы пользователь выбрал период времени из слайсера, который затем фильтрует дату начала и окончания слайсера дат.

Панель Выбора периода и среза даты

У меня сложилось впечатление, что, возможно, таблица календаря не может быть такой динамичной, но я был бы очень признателен за подтверждение этого! Спасибо!

Смотрите ниже расчетную таблицу, которую я пробовал.

(change_mstart, change_mend, change_qstart и change_qend-это таблицы значений одной даты, созданные на основе параметра)

 Period_D_Metric1# =  VAR _latestmonth = CALENDAR(max(change_mstart[change_mstart]), max(metric_mend[metric_mend])) VAR _latestquarter = CALENDAR(max(change_qstart[change_qstart]), max(metric_qend[metric_qend])) VAR _custommonth = CALENDAR(min(AvailabilityD[Date]), max(AvailabilityD[Date])) VAR _customquarter = CALENDAR(min(AvailabilityM[Month]), max(AvailabilityM[Month])) RETURN Switch(  TRUE(),  SELECTEDVALUE('Table'[Period]) = "Latest Month",  _latestmonth,  SELECTEDVALUE('Table'[Period]) = "Latest Quarter",  _latestquarter,  SELECTEDVALUE('Table'[Period]) = "Custom Daily",  _custommonth,  SELECTEDVALUE('Table'[Period]) = "Custom Monthly",  _customquarter )  

Комментарии:

1. В таблице календаря я всегда использую » СЕГОДНЯ()» в качестве последней даты. Может быть, можно сделать дату начала «СЕГОДНЯ() — 90»? Это не так динамично, как с помощью слайсера, но это сделает ваши данные намного меньше, чем с годами?

2. Спасибо за предложение, Макс. Данные обновляются на панели мониторинга только ежемесячно, поэтому я использую параметры для определения даты начала/окончания в sql, вводя данные в pbi.