博客:www.jiaopengzi.com

焦棚子的文章目录
请点击下载附件

一、背景

前些天在和朋友交流Power BI中有这样一个需求,按照父级排名后,需要显示出父级TOPN的子级明细。

如下《效果图》

1、圆环图按照父级排名第一名:E,第二名:A,第三名:C;

2、依次显示出E、A、C的二级明细;

3、需要图表标题动态变化。

效果图

再来看看动态效果。

[video width=“1476” height=“968” mp4=“https://jiaopengzi.com/wp-content/uploads/2020/03/128_2.mp4”][/video]

结果动图

二、数据源

data

1、说明:

A、data中的一级即为父级,二级即为子级;

B、data是pq模拟随机数,方便刷新观看;

C、拿到附件后数据会和文章中不一样,这是正常的。

pq随机数

2、pq代码

//pq模拟25行随机数
letdata = #table(type table [一级=text,二级=text,value=Int64.Type],List.Transform({1..25},each{{"A".."E"}{Number.Mod(_-1,5)},"F"&Text.From(_),Number.Round(Number.RandomBetween(1,25),0)}))
indata

三、上DAX

1、基础度量total

total = SUM(data[value])

2、一级排名TOP1需显示的度量,TOP2、TOP3同理。

N_rankx_1 =
VAR N=1
VAR T1=SUMMARIZE(ALL(data),data[一级],"@S",[total])//构建排序表
VAR T2=SUMMARIZE(ALL(data),data[一级],"@R",RANKX(T1,[@S],[total],DESC,Dense))
VAR T3=FILTER(T2,[@R]=N)
RETURN
CALCULATE('data'[total],T3)

3、动态显示TOP1的标题的度量,TOP2、TOP3同理。

Name_TOP1 =
VAR N=1
VAR T1=SUMMARIZE(ALL(data),data[一级],"@S",[total])//构建排序表
VAR T2=SUMMARIZE(ALL(data),data[一级],"@R",RANKX(T1,[@S],[total],DESC,Dense))
VAR T3=FILTER(T2,[@R]=N)
RETURN
"TOP"&N&":"&CONCATENATEX(T3,[一级],"&",[一级],ASC)

说明:

A、如下图《并列排名》中的TOP3,图表标题显示为:TOP3:C&D;

B、在一级排名中C和D是并列第3名;所以需要_CONCATENATEX_ 把第3、4、5参数用上(1-5参数分别:表,表达式,分隔符,排序列,正序倒序)。

C、如果数据中不存在并列排名的话还可以使用_TOPN_ 来处理,在这里就不展示了,拿到附件可以看到。

并列排名

四、总结

1、还是那句话,业务需求转换为DAX思想很重要;

2、本文中没有特别难点,需要注意的是_RANKX_ 的使用,案例中写了关于_RANKX_ 第三参数使用的对比,拿到附件即可看到;

3、CONCATENATEX 处理并列排名的问题。

by 焦棚子

焦棚子的文章目录

128_Power BI父级排名TOPN子级动态展示相关推荐

  1. Layui父级页面调用子级页面方法

    父级页面调用子级页面方法 百度了一堆,没几个有用的,为避免以后会用到,在这记下笔记 layer.open({title : "xxxx",type : 2,content : Gl ...

  2. 父级透明,子级不透明

    <div style="opacoty:0.5;"> <div style="opacoty:1;"></div> < ...

  3. jquery获取父级元素和子级元素

    <script type="text/javascript">function show(x){var y=$(x);//转换成jquery对象//查找父元素alert ...

  4. html dom取父节点jq,querySelector获得兄弟DOM元素 父级DOM元素 子级DOM元素

    一.js定位兄弟,父级,子级元素 所有DOM方法var el = document.getElementById('xxx');var el = document.getElementByName(' ...

  5. js和jquery获取父级元素、子级元素、兄弟元素的方法{转}

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当成DOM元素 原生的JS ...

  6. js和jquery获取父级元素、子级元素、兄弟元素的方法

    先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS ...

  7. 父级容器relative子级容器absolutte时,如何设置子级窗口的宽度

    <span style="color:#434343">当子容器的position设置为absolute或者fixed,如果元素的父容器为body的时候设置width为 ...

  8. jquery获取父级元素、子级元素、兄弟元素的方法

    jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(&q ...

  9. jquery 获取父级元素、子级元素、兄弟元素的方法

    jQuery.parent(expr) 找父亲节点,可以传入expr进行过滤,比如 ("span").parent()或者 ("span").parent()或 ...

最新文章

  1. 大TTT需要复习的课件PPT以及大作业完成链接
  2. stm8s开发(七) SPI的使用:SPI主机通信!
  3. 20210907 Engine and SDK in development
  4. ASP.NET Core微服务(六)——【redis操作】
  5. CDN视频流中的3个问题以及解决方法
  6. java windows域_域环境中的windows软件安装
  7. 分层设计 --java中的几种包
  8. 无法将 DBNull.Value 强制转换为类型“System.DateTime”。请使用可空类型
  9. POJ 1915 经典马步 双向bfs
  10. 计算机显卡驱动全部卸载,如何卸载显卡驱动重新安装?Win10卸载显卡驱动+重装显卡驱动的方法...
  11. 美化字体 css3,美化你空间的文字:20种CSS字体镜像特效
  12. PID参数整定口诀与经验法整定PID参数
  13. Windows与网络基础-27-子网掩码
  14. 丹阳眼镜购买攻略,其它城市可以此参考
  15. 5首2021一些流行好听歌曲的吉他和弦
  16. 软件可靠性工程研讨会报告
  17. Gooowild隐私政策
  18. HttpClient上传文件传入MultipartFile类型
  19. Android热更新技术的研究与实现Sophix
  20. github上各个文件的意思

热门文章

  1. 异常捕获try...catch... c#
  2. 前端开发 get请求与post请求 0228
  3. python-正则表达式1909
  4. javascript-流程控制-循环-分支-三元运算符
  5. 分享一个自动生成单据的存储过程
  6. django生产环境部署
  7. Can't locate Config.pm in @INC
  8. 《软技能:代码之外的生存指南》一一21.3 打造成功博客的秘诀
  9. 如何从rpm包中提取文件
  10. wikioi 1294 全排列 dfs