我是Power Bi的新手 . 我正在计算一个衡量标准的数月 .
我为此写了以下DAX公式,
MTD in Sales = CALCULATE([Total Sales], DATESMTD(Dates[Date]) )
它显示了我这个月的正确总销售额 . 但是当我做出日常工作时,它显示了一些不切实际的 Value .
我附上了我的结果截图..请看一下 .
我不明白发生了什么错误?你能找出问题PLZ吗?
DATESMTD(Dates[Date]) 相当于:
DATESMTD(Dates[Date])
CALCULATETABLE( FILTER( ALL(Dates[Date]), AND( Dates[Date] <= MAX(Dates[Date]), AND ( YEAR(Dates[Date]) = YEAR(MAX(Dates[Date])), MONTH(Dates[Date]) = MONTH(MAX(Dates[Date])) ) ) ) )
这只考虑外部过滤器上下文中日期的最大值,因此对于 Tuesday (今天),它将包含截至今天的每个月的每一天,对于 Monday (昨天)它将包含截至昨天的每个月的每一天等等 . (假设没有销售与未来日期挂钩) .
Tuesday
Monday
如果您想进一步过滤此项仅包括在一周中给定日期发生的销售,我建议将 MTD in Sales 更改为:
MTD in Sales
[MTD in Sales] := CALCULATE([Total Sales], DATESMTD(Dates[Date]), Dates[DayOfWeekName])
这将另外将包含的日期过滤为仅具有外部过滤器上下文中存在的 DayOfWeekName 值的日期 .
DayOfWeekName
1 回答
DATESMTD(Dates[Date])
相当于:这只考虑外部过滤器上下文中日期的最大值,因此对于
Tuesday
(今天),它将包含截至今天的每个月的每一天,对于Monday
(昨天)它将包含截至昨天的每个月的每一天等等 . (假设没有销售与未来日期挂钩) .如果您想进一步过滤此项仅包括在一周中给定日期发生的销售,我建议将
MTD in Sales
更改为:这将另外将包含的日期过滤为仅具有外部过滤器上下文中存在的
DayOfWeekName
值的日期 .