我有销售情况表
我想创建一个度量标准,以计算特定产品的销售总额超过总销售额2%的产品数量。 例如: 1.“ ProductKey” 310的销售总额为5000。 2.“ ProductKey” 346的销售总额为2000。 3.总销售额的2%为3000。 产品310将被包括在计数中产品346将不包括在计数中。 我将如何写这种措施? 我试图创建这样的东西:
Big Sales =
var SalesTotal = CALCULATE(SUM(fact_InternetSales[SalesAmount]))
var twoperceSalesAmount =
CALCULATE (SUM(fact_InternetSales[SalesAmount]), ALL( fact_InternetSales )) * 0.02
return
CALCULATE (COUNT(fact_InternetSales[ProductKey]),
FILTER (fact_InternetSales, SalesTotal - twoperceSalesAmount > 0))
谢谢
亲切的问候, 罗伯特
答案 0 :(得分:1)
您快到了。
伪算法为:
1.计算阈值
2.仅考虑销售额高于阈值的产品
3.计算产品数量
Big Sales:=
var _threshold = CALCULATE(SUM(fact_InternetSales[SalesAmount]),ALL(fact_InternetSales))*0.02
var _productlist =
FILTER(ADDCOLUMNS(
SUMMARIZE(
fact_InternetSales,
fact_InternetSales[ProductKey),
"productsales",CALCULATE(SUM(fact_InternetSales[SalesAmount]))),
[productsales]>_threshold)
RETURN
Countrows(_productlist)
如果速度很慢,Web可以对其进行优化。
答案 1 :(得分:0)
SUMX的解决方案也有效:
Big Sales SUMX =
SUMX(VALUES(fact_InternetSales[ProductKey]),
IF(CALCULATE(SUM(fact_InternetSales[SalesAmount]))>
CALCULATE(SUM(fact_InternetSales[SalesAmount]),ALL(fact_InternetSales))*0.02,1))