我想对每个日期从“基准”和“方案1”中看到的值之间进行求和(可能大于2) 因此,这些列定义为: (1)日期 (2)键入
因此,每个日期与基准的差异与我们在计算中所做的一样-Excel或Tablaeu中的差异
有人可以提供我所需的材料吗? 我有以下DAX,但它没有给我我期望的结果:
Diff =
VAR currIndexDate = MIN (Date [TotalRundate])
VAR currIndexType = "Scenario1"
var currVolume =
CALCULATE ( SUM (Data[TotalVolume]),
FILTER( ALLSELECTED (Data) , Data[TotalRunDate] = currIndexDate && Date[Type] = currIndexType ),
VALUES (Data[Type]), VALUES (Data[TotalRunDate])
)
var prevVolume =
CALCULATE ( SUM (Data[TotalVolume]),
FILTER( ALLSELECTED (Data) , Data[TotalRunDate] = currIndexDate && Date[Type] <> currIndexType ),
VALUES (Data[Type]), VALUES (Data[TotalRunDate])
)
RETURN
IF (prevVolume <> BLANK , currVolume - prevVolume, currVolume)
这是我得到的结果,它对所有内容求和,而不是在同一组Data [Type] Data [TotalRunDate]中
我要完成的就是这种类型:(这是Excel中的差异计算)
答案 0 :(得分:1)
我的理解:在不影响任何其他上下文的情况下,显示列标题类型和Type = Baseline之间的区别。
Volume = SUM ( 'Data'[TotalVolume] )
Diff from Baseline =
[Volume] - CALCULATE ( [Volume], 'Data'[Type] = "Baseline" )
您无需执行任何特殊操作即可保留过滤上下文。只需使用CALCULATE
即可更改您关心的上下文。