问题描述
- 一个订单可以包含多个产品类别中的多个项目。每个项目将在数据的不同行上,但是这些行将共享一个订单ID。查找包含办公用品的订单的平均销售价值。 Download data Excel sheet here
SUM({ FIXED [Order ID]: MAX(IF [Product Category]='Office Supplies' THEN [Sales] ELSE 0 END)})/COUNTD(if [Product Category]='Office Supplies' THEN [Order ID] ELSE NULL end)
该解决方案使用公式来获得如下答案:
SUM({ FIXED [Order ID]: MAX(IF [Product Category]='Office Supplies' THEN 1 ELSE 0 END)}*[Sales])/COUNTD(if [Product Category]='Office Supplies' THEN [Order ID] ELSE NULL end)
这两个得到的结果完全不同:
- 矿山:511.2
- 关键解决方案:1186.4
我的问题是,两种解决方案看起来是相同的,但结果却完全不同。请告诉 我为什么呢? 非常感谢,谢谢。
解决方法
它们是不同的。我建议将它们全部放在一张桌子中,以便您了解发生了什么。
从此开始:SUM({ FIXED [Order ID]: MAX(IF [Product Category]='Office Supplies' THEN 1 ELSE 0 END)}*[Sales])
任何包含办公用品的订单ID都将考虑所有销售额,而不仅仅是归因于办公用品的那些。带有办公用品的任何订单ID相对于其所有订单项都返回1,因此将其所有销售额都考虑在内。
此公式:SUM({ FIXED [Order ID]: MAX(IF [Product Category]='Office Supplies' THEN [Sales] ELSE 0 END)})
在产品类别为办公用品的情况下,将返回每个订单的最高销售额。
例如,如果他们以相同的订单ID购买10美元的办公用品,200美元的办公用品和500美元的食品,则顶部公式将返回710。底部公式将返回200。