Как узнать количество дней по месяцу с помощью слайсера в Power BI? - PullRequest
0 голосов
/ 24 сентября 2019

Я просто хочу выбрать диапазон дней в слайсере и показать в таблице количество дней для каждого месяца / периода (месяц-год).

Я использовал DAX для создания таблицы с нужной мне информацией, и у меня нет проблем с периодами (первый столбец), он динамически меняется, проблема в столбце «Дни» (второй столбец), потому чтоон всегда показывает общее количество дней для каждого месяца.

Здесь мой DAX-код

SelectedPeriods = GROUPBY (DimDate; DimDate [Period]; "Days"; COUNTX (CURRENTGROUP (); DimDate[DateKey]))

Вот результат

То, что я ожидаю:

2 для апреля, 31 для мая, 1 для июня

1 Ответ

1 голос
/ 24 сентября 2019

Это проблема с порядком выполнения.

SelectedPeriods = GROUPBY(DimDate;DimDate[Period];"Days";COUNTX(CURRENTGROUP();DimDate[DateKey]))

Создает вычисляемую таблицу.Они рассчитываются, когда модель данных обновляется и сохраняется в ней.Они не обновляются каждый раз, когда подключенное измерение изменяется на панели мониторинга.

В вашем случае фильтры изменения даты могут скрывать строки в этой таблице, но число дней остается фиксированным на уровне, рассчитанном изначально, когда не былофильтруйте контекст данных, т.е. подсчитывая все дни месяца.

Если вы хотите, чтобы результат изменился, вам нужно использовать меру вместо расчетной таблицы.Меры реагируют на текущий контекст фильтра в отчете и, таким образом, корректируют свои выходные данные каждый раз, когда изменяется слайсер.Необходимая мера будет зависеть от вашей модели, но может быть такой простой, как:

CountOfDays := CountRows(DimDate)
...