Разница между двумя датами для отдельных рабочих месяцев - PullRequest
0 голосов
/ 22 октября 2019

Цель / проблема : Как я могу определить разницу / оставшиеся дни (рабочий день) между сегодняшним днем ​​и концом отдельного рабочего месяца в меру dax?

Информация/ General : у меня есть таблица календаря в PowerPivot, которая показывает мне за день, какой это рабочий месяц и является ли это рабочим днем. Эта таблица имеет следующую структуру: Дата - Рабочий месяц - Коэффициент рабочего дня.

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

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

Как бы вы это реализовали? 1015 *

С наилучшими пожеланиями

Редактировать: Это мой настоящий подход: Дата начала:

Calculate(MIN(Calendar[Business Month]))

Дата окончания:

Calculate(Max(Calendar[Business Month]))

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

Календарь выглядит следующим образом: введите описание изображения здесь

Workday = 1
Day off = 0

Ответы [ 2 ]

0 голосов
/ 22 октября 2019

Если я правильно понимаю, вам нужно рассчитать количество дней между сегодняшним днем ​​и концом выбранного рабочего месяца.

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

Measure = Calculate(Sum(CalendarCustom[WorkDay Factor]),CalendarCustom[Date] > NOW())

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

0 голосов
/ 22 октября 2019

Вы почти у цели, вам нужно объединить функции:

Total Working Days = 
VAR maxMonth = MAX(Calendar[Business Month])
VAR minMonth = MIN(Calendar[Business Month])
RETURN
CALCULATE(SUM('Calendar'[Workday Factor]), FILTER('Calendar', [Date] >= minMonth && [Date] <= maxMonth))

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

Надеюсь, что это поможет

...