Power BI Dax 计算前 10 名产品的总和百分比

时间:2021-05-18 07:42:20

标签: powerbi dax

用户请求

<块引用>

我想获得前 10% 的总和,即。第三列是 % 价值/总价值


x

样本数据##

|产品名称 |价值 |排名 | | A1 | 10 | 1 | 10%

A2 | 8 | 2 | 8%

A3 | 6 | 3 | 6% A4 | 4 | 4 | 4% A5 | 2 | 5 | 2% A6 | 1 | 6 | 1% A7 | 1 | 7 | 1% A8 | 1 | 8 | 1% A9 | 1 | 9 | 1% A10 | 1 | 10 | 1% A11 | 1 | 11 | 1% 总价值 = 100

预期结果 该措施应返回前 10% = 35% 的总和

这是我目前构建的 Dax。


Eq_TopN% = 
    VAR RANKMV = [RANKMV]
    VAR Top_N = 10
    //VAR RANKMV = RANKX(ALL(Eq_Bucket_tbl[Issuer]),Eq_Measures_tbl[MaxMV],,DESC,Dense)
    RETURN 

SUMX(TOPN(Top_N,CALCULATETABLE(ALLSELECTED(Eq_Bucket_tbl),FILTER(Eq_Master_Dates,Eq_Master_Dates[Date]=[MaxDateSelected])), [Total MV], ASC), [Total MV])


RANKMV = RANKX(
            ALL(Eq_Bucket_tbl[Issuer]),
            Eq_Measures_tbl[MaxMV]
            ,
            ,,Dense
            )

2 个答案:

答案 0 :(得分:0)

如果您有排名列,则只需使用计算:

SumOfTOP = CALCULATE(sum(Sheet1[ % ]), Sheet1[ Ranking ] <= 10)

答案 1 :(得分:0)

您可以创建一个度量来计算前 10 个值的百分比总和。

    Sum of TOP10% =
    (
      CALCULATE (
          SUM ( 'Table'[Value] ),
          TOPN ( 10, 'Table' )
       ) / 100
     )

创建度量后,通过单击度量转到度量工具,然后在格式部分中将度量格式设置为百分比。 enter image description here

这应该会给你想要的结果。

enter image description here