128_Power BI父级排名TOPN子级动态展示

2020年3月7日22:33:42 评论 644 1400字阅读4分40秒

焦棚子的文章目录

请在文末下载附件

 

一、背景

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

如下《效果图》

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

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

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

128_Power BI父级排名TOPN子级动态展示
效果图

再来看看动态效果。

结果动图

二、数据源

128_Power BI父级排名TOPN子级动态展示
data

1、说明:

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

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

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

128_Power BI父级排名TOPN子级动态展示
pq随机数

2、pq代码

//pq模拟25行随机数
let
    data = #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)
                        }
                          )
                )
in
    data

三、上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 来处理,在这里就不展示了,拿到附件可以看到。

128_Power BI父级排名TOPN子级动态展示
并列排名

四、总结

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

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

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

 

by 焦棚子

焦棚子的文章目录

请点击【立即购买】或者【升级VIP】获得案例附件。

隐藏内容需要支付:¥5
立即购买 升级VIP
128_Power BI父级排名TOPN子级动态展示
焦棚子
  • 本文由 发表于 2020年3月7日22:33:42
  • 除非特殊声明,本站文章均为焦棚子原创,转载请务必保留本文链接
142_Power BI之同比预测 Power BI

142_Power BI之同比预测

焦棚子的文章目录 请在文末下载附件 一、背景 最近刚好在做一个简单同比预测的模型,预测方法很简单,就是累计同比预测,把MTD展示出来。 二、数据源 1、日期表:Calendar 2、事实表1:Data...
140_Power BI&Power Pivot之降维展示同类型比较 Power BI

140_Power BI&Power Pivot之降维展示同类型比较

焦棚子的文章目录 请在文末下载附件 一、背景 最近一段时间比较忙,几乎没有时间更新网站内容,今天刚好周末,更新一个简单的需求。 上效果图: 在我们日常做对比分析的时候,经常几个相同维度(比如省份、区域...