PowerBI:如何计算矩阵中两列之间的差异

时间:2019-06-24 01:55:15

标签: excel powerbi dax

我有一个定义为值的矩阵: Pivot table with Multiple-Level Columns

我想对每个日期从“基准”和“方案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]中

Output Received

我要完成的就是这种类型:(这是Excel中的差异计算)

Excel Results

1 个答案:

答案 0 :(得分:1)

我的理解:在不影响任何其他上下文的情况下,显示列标题类型和Type = Baseline之间的区别。

Volume = SUM ( 'Data'[TotalVolume] )
Diff from Baseline =
[Volume] - CALCULATE ( [Volume], 'Data'[Type] = "Baseline" )

您无需执行任何特殊操作即可保留过滤上下文。只需使用CALCULATE即可更改您关心的上下文。