在两个表中使用OR条件进行CALCULATE

时间:2018-01-24 19:51:50

标签: powerbi powerpivot dax

为了总结属于鞋类的蓝色产品或产品的销售额,我使用以下DAX表达式:

CALCULATE(

SUM(Table[SalesAmount]),

FILTER(

Table,

Table[Color] = "Blue" ||

Table[Category] = "Shoes")

)

但是,这不适用于两个不同的表格(颜色和类别),例如:

CALCULATE(

SUM(Table[SalesAmount]),

FILTER(

Table,

Colors[Color] = "Blue" ||

Categories[Category] = "Shoes")

)

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

这可能不是理想的答案,但一种方法是使用inclusion-exclusion principle

CALCULATE(SUM(Table[SalesAmount]), Colors[Color] = "Blue") + 
CALCULATE(SUM(Table[SalesAmount]), Categories[Category] = "Shoes") - 
CALCULATE(SUM(Table[SalesAmount]), Colors[Color] = "Blue", Categories[Category] = "Shoes") 

答案 1 :(得分:0)

在网上搜索我的是this forum topic。借用OwenAuger的帖子,我提出以下公式:

CALCULATE(SUM(Table[SalesAmount]),
          FILTER(SUMMARIZE(Table, Colors[Color], Categories[Category]),
                 Colors[Color] = "Blue" ||
                 Categories[Category] = "Shoes"))

我们通过使用SUMMARIZE创建一个包含我们需要的所有部分的单个表来解决单表限制。