当前位置:首页 > 科技 > 正文

Power BI应用:KPI指标动态展示之TOPN及其他

一、背景故事

2020年第一天上班,B同学还沉浸在跨年的喜悦中,坐在工位上,喝了一口枸杞养生茶,随即打开了电脑,邮箱提醒老板发来一封邮件,顿时心头一紧,不会有重要工作吧,赶紧点开邮件,看着看着,眉头渐舒,原来老板让他对19年所有客户的销售做排名展示,以了解公司头部客户去年销售表现,具体要求为:

1.TOPN中的N值动态可选。2.除了TOPN中的客户,其余客户销售归为“其他”组显示。3.显示TOPN和"其他"组的销售占比情况。

B同学此时心中窃喜,这需求貌似在网上看到过现成解决方案,那就简单了,打开度娘,照葫芦画瓢,不到半个小时,B同学就搞定把邮件发出。在钉钉上和同事聊了几句,刚拿起茶杯,邮箱提醒老板邮件又来了,是不是被我的效率震惊了?赶紧点开邮件,邮件大意如下:

1.对完成速度和质量表示认可。

2.对内容有了新的要求:

*对于TOPN客户,不要汇总在一起,要看到客户明细。

*对于KPI指标要实现动态切换,比如销售额,销量,利润等。

3.中午十二点前要给到老板。

B同学此时悲喜交加,新诉求看起来简单,但是对于之前没有过类似实操经验的B同学来说,难度颇大,度娘这次也不好使了,看了一下时间,离十二点还有三个小时,烧香拜佛已然来不及,求人不如求己,B同学放下茶杯,扶了扶眼镜,带上耳塞,点开PBI,开整......

二、制作步骤

1.模型概览

动态指标的优点__动态指标的计算公式

四个维度表(地区,客户,产品,日期)与一个事实表(订单)分别建立一对多的单向筛选关系。其余四个是自建的辅助表。

根据老板的要求,要实现对TOPN的客户明细展示以及KPI指标的动态切换,那么这里需要建立三个辅助表,分别通过新建参数和新建表的方式,具体如下:

参数N(范围1-50,50以后的客户老板也基本不会看了)

动态指标的优点_动态指标的计算公式_

KPI类别表(便于实现KPI动态切换)

KPI类别表 = ( { ("销售额", "1" ),( "销量", "2" ),( "利润额","3" ), ( "利润率", "4" )},"KPI", [],"", [])

TOPN参数表(包含所有客户姓名+其他,便于后续动态展示)

TOPN参数表 =

VAR =

( ( '客户'[客户名称] ), "TOPN参数", [客户名称] )

VAR = { "其他"}

UNION ( , )

这个辅助表的建立很重要,是在后续可视化中将客户组与“其他“组同时展示的关键。

2.建立度量值

凉菜上完了,硬菜马上端上桌,需要建立的具体度量值如下所示。

动态指标的优点__动态指标的计算公式

先唠叨几句,

要做好度量值的归类整理和规范命名工作!

要做好度量值的归类整理和规范命名工作!

要做好度量值的归类整理和规范命名工作!

重要的事情说三遍!

否则后期度量多了之后你真的会懵逼!

简单的基础度量就不再花时间赘述了,下面重点对核心度量进行解释说明。

base.kpi.auto =

VAR =

( 'KPI类别表'[KPI] )

(

,

"销售额", [base.salse],

"销量", [base.],

"利润额", [base.],

"利润率", [base.%]

度量本身不难,作用为实现对KPI的动态切换。

rank.kpi =

(

[base.kpi.auto],

( ( 'TOPN参数表'[TOPN参数] ), '客户'[客户名称] )

看着也很简单吧,但很重要,从模型关系图中可以看到在这里B同学并没有将TOPN参数表与任何表建立关系,那么该如何实现利用TOPN参数表的字段对KPI指标进行筛选呢?这里我们用到了函数,通过共有字段[客户名称]建立虚拟关系连接两表,这也是一种无侵入式的设计思路。

rank.rank =

RANKX ( ALL ( 'TOPN参数表'[TOPN参数] ), [rank.kpi] )

有了rank.kpi度量,那么接下来就是自然的对此度量进行排名。

如果前面介绍的几个度量可以称之为后台度量或基础度量,那么后面我们要介绍的度量便可以称为前端度量或展示度量。

先上效果图:

动态指标的优点_动态指标的计算公式_

对上图进行简单分析,有三个列字段,TOPN即之前建立的辅助表TOPN参数表,KPI即为核心指标,还有对KPI排名的RANK字段。

接下来重点讲一下KPI以及RANK字段相关度量值的构建。

KPI字段度量值

n& =

VAR =

( 'TOPN参数表'[TOPN参数] )

VAR N =

TOPN ( [参数N 值], ( '客户'[客户名称] ), [base.kpi.auto] )

(

TRUE(),

[rank.rank]

你可能想看:

有话要说...

取消
扫码支持 支付码