码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Power BI: DAX - 用Rank函数求前N名


    假设有这么一张表--tbSales,里面是各个城市的销售额:

    要实现的效果是:在页面上滑动切片器时,表格根据切片器的值显示排名

    做法如下:

    1. 选择新建参数

    完成之后会得到这么一张表:

     页面上会出现一个滑动切片器:

    2. 新建一个求Sales和的度量值

    TotalSales = SUM('tbSales'[Sales])

    3. 新建一个求销售排名的度量值

    SalesRank = RANKX(ALL('tbSales'[City]),[TotalSales],,DESC,Dense)

    4. 新建一个根据切片器值显示的度量值

    1. TopSales =
    2. VAR vpar = SELECTEDVALUE('参数'[参数])
    3. RETURN IF([SalesRank]>vpar,BLANK(),[TotalSales])

    5. 在画布上放一张表进来,把City和TopSales绑定到表上。

    此时,当改变切片器的值时,表中会根据切片器显示前N项的数据。

    但是还有一个问题,它的总计计算的是所有Sales的值,而不是前N名的总计,

    解决办法:在度量值[TopSales]中单独去计算前N名的汇总值,[TopSales]修改如下:

    1. TopSales =
    2. //选中的参数值
    3. VAR vpar = SELECTEDVALUE('参数'[参数])
    4. //当前行是哪个city,如果为空,可以人为它是总计那一行
    5. VAR rCity = SELECTEDVALUE('tbSales'[City])
    6. //计算前N项总计,这里返回的是一个表
    7. VAR vTotal = SUMX(
    8. FILTER(
    9. SELECTCOLUMNS(
    10. ALL('tbSales'),
    11. "Sales",[Sales],
    12. "Rank",RANKX(ALL(tbSales),[Sales],,DESC,Dense) //排名
    13. ),
    14. [Rank]<vpar
    15. ),
    16. [Sales]
    17. )
    18. RETURN IF(
    19. //根据City是否为空来判断它是否是总计那一行
    20. rCity = BLANK(),vTotal,
    21. IF([SalesRank]>vpar,BLANK(),[TotalSales])
    22. )

     这样,出来的总计就是正确的了:

  • 相关阅读:
    进程的状态以及进程的优先级
    10.30-11.3|浙大报考点硕士研究生2023年网上确认系统操作流程
    在Vue.js中,什么是mixins?它们的作用是什么?
    秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer
    Android Studio历史版本下载地址
    python每日一练(7)
    【自用】C++ 知识点总结Ⅱ:异常、IO流、类型转化、C++11新特新、STL、设计模式...(待更新)
    web网页设计期末课程大作业 HTML+CSS+JavaScript重庆火锅(代码质量好)
    如何在 iPhone 上检索已删除的短信
    记一次 .NET 某自动化采集软件 崩溃分析
  • 原文地址:https://blog.csdn.net/qq_24470501/article/details/125478122
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号