我想创建一个度量来计算在切片器中选择的两个日期之间的工作日。目前我可以计算所选日期之间的天数,但不能排除周末。
Days =
/*We get the first and last date from the slicer*/
VAR First = CALCULATE ( MIN ( Date[Date] ), ALLSELECTED ( Date[Date] ) )
VAR Last = CALCULATE ( MAX ( Date[Date] ), ALLSELECTED ( Date[Date] ) )
/*We calculate the days between the two dates*/
RETURN
DATEDIFF ( First, Last, DAY )
答案 0 :(得分:0)
我建议先在日期表中添加一列 IsWorkingDay
。作为 explained here,您可以使用如下列排除周末:
'Date'[IsWorkingDay] = NOT WEEKDAY( 'Date'[Date] ) IN { 1,7 }
其中 1 和 7 分别对应于周日和周六。
一旦有了它,只需counting days where that column is true。
作为衡量标准,你可以把它写成
WorkingDaysCount =
COUNTROWS (
FILTER ( 'Date', 'Date'[IsWorkingDay] = TRUE () )
)
请注意,表 'Date'
应该已经被切片器过滤了,您只是添加了一个额外的条件。如果您有其他需要忽略的过滤器上下文,那么您可能需要使用 ALLSELECTED ( 'Date' )
而不仅仅是 'Date'
。