在两个表中使用 OR 条件进行计算
CALCULATE with OR condition in two tables
为了求和属于鞋子类别的蓝色产品或产品的销售额,我使用以下 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")
)
有人可以帮忙吗?
谢谢!
这可能不是理想的答案,但一种方法是使用 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")
通过网络搜索,我找到了 this forum topic。借用 OwenAuger 的 post,我提出以下公式:
CALCULATE(SUM(Table[SalesAmount]),
FILTER(SUMMARIZE(Table, Colors[Color], Categories[Category]),
Colors[Color] = "Blue" ||
Categories[Category] = "Shoes"))
我们通过使用 SUMMARIZE
创建一个包含我们需要的所有部分的 table 来绕过单个 table 限制。
为了求和属于鞋子类别的蓝色产品或产品的销售额,我使用以下 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")
)
有人可以帮忙吗?
谢谢!
这可能不是理想的答案,但一种方法是使用 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")
通过网络搜索,我找到了 this forum topic。借用 OwenAuger 的 post,我提出以下公式:
CALCULATE(SUM(Table[SalesAmount]),
FILTER(SUMMARIZE(Table, Colors[Color], Categories[Category]),
Colors[Color] = "Blue" ||
Categories[Category] = "Shoes"))
我们通过使用 SUMMARIZE
创建一个包含我们需要的所有部分的 table 来绕过单个 table 限制。