Lanson

V1

2023/04/10阅读:64主题:丘比特忙

大数据分析工具Power BI(八):动态TOPN统计

动态TOPN统计

一、TOPN统计分析

在一些数据分析场景中我们经常遇到获取topN统计的问题,例如统计销量topN的店铺对应的总销售额、统计订单量TopN的门店总销售额等等。针对这种TopN问题的分析,在Power BI中我们需要使用TOPN函数,TOPN函数可以返回指定表的前N行数据。之前我们学习过RANKX函数,RANKX可以根据指定的度量值表达式来对数据进行排名没有办法获取前几名数据,TOPN可以获取前几名数据,但是不会对数据进行排名。

TOPN函数的用法如下:

TOPN(N值,表名,[度量值表达式],[升降序])

以上参数中"N值"是设置返回的行数;"表名"是用来返回行记录的表达式;"度量值表达式"是用来排序的度量值表达式,可以省略;"升降序"是指定升序还是降序后获取对应的TOPN值,可以省略默认降序。此外,需要注意TOPN函数会单独返回一个表。

  • 需求: 针对" 2022 年点播订单表"统计营收金额 TOP5 的门店号信息。

针对以上需求具体操作如下:

输入DAX表达式:营收金额TOP5门店号 = TOPN(5,ALL('2022年点播订单表'[门店号]),'度量值表'[总营收金额]),ALL是用来去除筛选。

经过以上操作可以在"字段"区域看到对应的"营收金额TOP5门店号"表。

  • 需求:针对"2022年点播订单表"统计营收金额 TOP5 的门店总营收金额。

以上需求就需要用到CALCULATE函数和TOPN函数,具体操作如下:

1、在度量值表中新建度量值TOPN营收总金额:

度量值DAX公式为:TOPN营收总金额 = CALCULATE('度量值表'[总营收金额],TOPN(5,ALL('2022年点播订单表'[门店号]),'度量值表'[总营收金额]))

2、在"报表"视图中新建页,创建可视化"卡片图"

注意:通过以上操作,我们只是展示了销售额TOP5对应的门店总销售额信息。

二、动态TOPN统计分析

如果我们在汇报时还需要展示销售额TOP2对应门店的总销售信息、销售额TOP3对应门店的总销售信息、销售额TOP4对应门店的总销售信息、销售额TOP6对应门店的总销售信息等等,这就需要重复操作以上步骤,比较麻烦。在Power BI中我们可以通过"新建参数"来实现动态的调整TOPN对应的N值来实现动态展示TOPN统计需求,这就是动态TOPN统计。

对Power BI中"参数"合理的使用可以大大提高报表的可用性,下面我们通过创建"参数"来实现动态展示销售额TOPN对应门店的总销售信息。步骤如下:

1、新建"参数"

新建参数完成后可以在"字段"区域看到对应名称的表,并且在"报表"视图中可以看到一个可以滑动的"切片器",切片器最大值就是参数中指定的最大值,这个最大值可以填写业务表中总共的门店数,这里设置的为10代表分片器最多是获取TOP10门店数据。

上图"TOPN参数"表中"TOPN参数"指的是"切片器","TOPN参数 值"是后续我们要使用的参数值,其中TON的N值是根据"切片器"中的值来动态获取的。

2、修改之前创建的TOPN营收总金额度量值

将"TOPN营收总金额"度量值中的DAX公式修改为:TOPN营收总金额 = CALCULATE('度量值表'[总营收金额],TOPN('TOPN参数'[TOPN参数 值],ALL('2022年点播订单表'[门店号]),'度量值表'[总营收金额])),即将之前固定写死的数值改成'TOPN参数'[TOPN参数 值],就可以通过滑动切片器来动态获取销售额TOPN对应门店的总销售信息。

分类:

后端

标签:

大数据

作者介绍

Lanson
V1

CSDN大数据领域博客专家