我有一个在选定月份的上下文中计算的度量,定义为:
MyMetric = COUNTROWS ( FILTER ( Entities, [Incident Count] > [Target] ) )
我需要在分别计算每个月的同时计算YTD数。这是因为两个月内超过目标的单个实体需要被计数两次,而简单的YTD计算将只包括一次。例如,当报告三月份时,可以通过以下方式获得正确的结果:
[MyMetric YTD] = [MyMetric]
+ CALCULATE ([MyMetric] , DATEADD(DateTable[Date], -1 , MONTH))
+ CALCULATE ([MyMetric] , DATEADD(DateTable[Date], -2 , MONTH))
显然,这不是正确的方法。这种计算如何有效地编写?
答案 0 :(得分:1)
让我们假设您的Month
中有一个DateTable
列。如果没有,则可以创建一个。
然后您可以尝试以下方法:
MyMetric YTD
= SUMX(
CALCULATETABLE(
VALUES( DateTable[Month] ),
DATESYTD( DateTable[Date] )
),
[MyMetric]
)
基本上,您会获得到目前为止一年中每个月的列表,然后将这些月中每个月的度量值相加。