Power BI业务分析中,经常会遇到类似这样的问题,如何找到最新业务日期、如果找出最大订单对应的客户名称等,本文将大家经常问到的一些基础业务度量值的写法汇总如下,希望对你有所帮助。 这里以这个简易的订单表为例, 先写个基础度量值备用: 下面就来看看这些常见业务指标的度量值写法。 1. 最新业务日期
利用MAXX从全部订单表数据中提取最大的日期。 2. 最早业务日期
利用MINX从全部订单表数据中提取最小的日期。 3. 最新业务日期下单的客户
从订单表中筛选订单日期等于最新业务日期的行,然后利用MAX返回该行对应的客户名称。 这里假设结果只有一个客户,如果有多个客户,见下面的介绍。 4. 最新业务日期上一个交易日
利用TOPN筛选最大的两个订单日期,然后利用MIN取其中较小的日期。 5. 最新业务日期上一个交易日销售的产品
从订单表中筛选订单日期等于最新业务日期上一日的行,然后返回该行对应的产品名称。 6. 单笔最小订单对应的产品
利用TOPN筛选订单金额最小的订单(TOPN最后一个参数ASC,按升序排列,获取最小值的行),然后利用MAX提取对应的产品名称。 7. 单笔最大订单对应的客户
利用TOPN筛选订单金额最大的订单(TOPN最后一个参数省略,默认降序排列,获取最大值的行),然后利用MAX提取对应的产品名称。 8. 单笔第二大订单对应的客户
这里的主要逻辑是2个TOPN,内层TOPN返回销售额最大的2笔订单,然后外层的TOPN从其中筛选出较小的那一行。 9. 销售额最高的产品
利用TOPN找出销售额最高的产品行,然后利用MAX返回该行对应的产品名称。 10. 销售额最低的产品
利用TOPN找出销售额最低的产品行,然后利用MAX返回该行对应的产品名称。 但是如果你仔细查看每种产品的销售额,实际上销售额最低的有两种产品。 对于前面的度量值,都是假设不存在并列的情况,所以直接用了MAX函数,因为对于唯一的值,用MAX或者MIN函数都可以,都是返回这个值本身。 对于并列的情况,如果想随便返回任意一个,那么用MAX/MIN也可以,但是如果需要返回全部的名称,还可以用CONCATENATEX函数将所有的结果连接起来。 以销售额最低的产品为例,将这个度量值修改如下:
当存在并列的情况时,你都可以参考最后这个度量值的写法,将并列的名称利用CONCATENATEX函数组合到一起,同时显示出来。 这里的示例都很简单,其实大多数的分析,抛开具体的业务背景,都是这些常用的逻辑,或者多个逻辑的组合,用的DAX函数也并不难,常用的就是这几个,灵活运用就可以解决日常遇到的大多数问题。 |
|