美文网首页工具癖PowerBI专栏Power BI干货
Power BI中计算前N名,你需要这几个度量值

Power BI中计算前N名,你需要这几个度量值

作者: PowerBI星球 | 来源:发表于2019-06-04 20:47 被阅读29次

    数据中的明细项一般都有很多,可是我们关注的往往只是前几名,所以在报表中只展示关注的部分,就十分常用。

    有了上篇(这几个示例,帮你深入理解RANKX排名)关于排名的铺垫,仅显示前N名就简单多了。

    依然以上篇文章数据中的数据为例,按销售额的高低来显示前几名的产品,使用最常用的排名方式,

    排名 = RANKX(ALL('产品'),[销售额])

    有了这个排名,如果只想显示前5名,就可以这样写度量值,

    销售额 前5名= 

    CALCULATE(

        [销售额],

        FILTER(VALUES('产品'),[排名]<=5)

    )

    在矩阵中展示一下,

    如果想关注前十名,将上述度量值中的5改成10即可,不过关注的数量总是会变化的,不能每次都重新写个度量值,其实也可以利用参数动态显示前N名。

    关于如何使用参数,以前的文章中已经介绍过:创建PowerBI「参数」轻松搞定动态分析

    直接创建一个参数,比如从1到20,

    然后在画布上会自动出现一个切片器,重新写一个度量值,把排名的值替换为刚建立的参数,

    销售额 前N名 =

    CALCULATE(

        [销售额],

        FILTER(

            VALUES('产品'),

            [排名]<=SELECTEDVALUE('参数'[参数])

        )

    )

    这样就可以随心所欲的查看前N名了,

    为了突出显示销售冠军是哪个产品,还可以单独写个度量值把这个产品名称找出来,

    销量第一的产品 =

    CALCULATE(

        FIRSTNONBLANK('产品'[产品名称],1),

        FILTER('产品',[排名]=1)

    )

    用卡片图展示出来,

    同理,可以把1改成2、3,就是销售额额的第二名和第三名。

    所有的这些排名都是可以随其他维度的筛选动态变化的,比如不同时间段的排名情况,

    总结

    想动态展示前N名的名称和金额,可以用矩阵或者条形图等来展示,其中度量值参考这个写法:

    销售额 前N名 = 

    CALCULATE([销售额],

        FILTER(VALUES('产品'),

            [排名]<=SELECTEDVALUE('参数'[参数])))

    如果只想找出排名第几的是谁,一般使用卡片图来展示,其中度量值参考如下写法:

    销量第N的产品 = 

    CALCULATE(

        FIRSTNONBLANK('产品'[产品名称],1),

        FILTER('产品',[排名]=N))

    下次遇到类似情况是不是就知道怎么做啦:)

    /推荐阅读/

    01PowerBI 表格总计错误的终极解决方案

    02高效使用Power BI的15条建议

    03这串DAX太优雅:一步找出任意商品组合的共同客户

    长按下方图片加入「PowerBI星球」和我一起,精进技能。

    相关文章

      网友评论

        本文标题:Power BI中计算前N名,你需要这几个度量值

        本文链接:https://www.haomeiwen.com/subject/vyarxctx.html