Powerbi DAX是否从不同列有条件求和?

Powerbi DAX是否从不同列有条件求和?,powerbi,dax,Powerbi,Dax,对于如何根据相关表中的值有条件地选择要在求和中使用哪一列,我有点不知所措 Widgets ID Color Shape A Red Square B Red Diamond C Blue Square D Blue Square E Red Diamond F Blue Diamond Date WidgetID XValue YValue 1 A 5 10 1 C 15 20 3

对于如何根据相关表中的值有条件地选择要在求和中使用哪一列,我有点不知所措

Widgets
ID  Color Shape
A   Red   Square
B   Red   Diamond
C   Blue  Square
D   Blue  Square
E   Red   Diamond
F   Blue  Diamond

Date WidgetID XValue YValue
1       A       5     10
1       C      15     20
3       D      25     30
3       F      35     40
4       A      45     50
4       B      55     60
4       E      65     70
4       F      75     80
5       D      85     90  
5       C      95    100
*请注意,X/Y值增量的模式是不相关的,只是使用唯一的数字来显示如何在下面进行合计)

所以我需要根据这些规则计算总数:

  • 如果形状为“方形”,则使用XValue
  • 如果小部件形状为“菱形”,则使用YValue
以以下方式结束:

Color     TotalValue
Red          180    (i.e. 5+45+60+70)
Blue         340    (i.e. 15+25+40+80+85+95)   

计算TotalValue的DAX表达式是什么?

您想要一个一体化的DAX度量公式吗

我将从前面开始,在powerquery中对数据进行整形:将表格中的shape值与形状合并,然后添加一个计算列,逐行确定X或Y是否为该行的值。然后删除不再需要的列,并将结果加载到数据模型中

根据您的情况,您可能能够删除合并的形状以及XValue和YValue列,因此,尽管使用了辅助列,但最终数据模型中的数据会更少


DAX度量值可以是一个简单的和。

可以分别将两个形状相加,然后将结果相加。这可以通过在当前过滤器上下文的形状上添加一个过滤器来完成,两次,每个形状一个

SumOfValues =
CALCULATE ( SUM ( WIdgetsValues[XValue] ), Widgets[Shape] = "Square" )
    + CALCULATE ( SUM ( WIdgetsValues[YValue] ), Widgets[Shape] = "Diamond" )

我同意模型有点难看,但我必须对上面所述进行多次修改,以便使形状更接近原始状态。是的,理想情况下是一个一体化的DAX测量公式。这是从github下载样本pbix的直接链接。这就是我想要的,谢谢!