资讯推荐:大数据分析工具Power BI(七):DAX使用场景及常用函数
腾讯云 2023-03-28 04:15:02

DAX使用场景及常用函数

Power BI中DAX函数非常多,功能非常强大,下面结合一些实际场景来讲解DAX一些常用的函数,这些场景包含求和、计数、相除、排序、累计、环比、同比,为了更方便后续的可视化展示数据,我们新创建可视化展示的页面,创建一个新表存储后续展示的度量值,具体操作如下:

经过以上步骤的操作可以在"字段"区域看到对应的新建的"度量值表",后续在各个场景中使用时需要选中该"度量值表"后再新建"度量值"这样新创建的度量值会保存到该表中。

一、求和统计

需求:对"2022年点播订单表"统计营收总金额进行展示。


(资料图片仅供参考)

通过观察"2022年点播订单表"数据可以看到没笔订单都有对应的套餐价格以及优惠金额,每笔订单的营收即:套餐金额-优惠金额,所以统计营收总金额将每笔订单的套餐金额-优惠金额累加起来就可以。具体操作步骤如下:

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

度量值DAX公式为:总营收金额 = SUM("2022年点播订单表"[套餐价格])-SUM("2022年点播订单表"[优惠金额])

注意在"度量值表"中我们也可以将后续不使用的"列1"列删除。

2、使用多行卡图进行展示结果

以上创建的度量值可以随着我们可视化指标的不同而变化,例如,统计不同套餐的营收金额,统计不同商圈的营收金额,都可以使用创建的该度量值。操作如下:

同样的方式我们也可以创建可视化表将"门店信息表"中的"商圈类型"与"总营收金额"展示在一起,如下:

并且还可以点击两表中不同的行进行联动,如下:

二、计数统计

在Power BI中用于计数的函数有两个:COUNT和COUNTA,两者都可以对某一列进行计数,用法上一样,区别为COUNTA可以对True或者False列分别统计True和False的数量,所以使用更加广泛。

COUNTA函数的使用方式如下:

COUNTA(ColumnName)

复制

以上"ColumnName"是我们传入到COUNTA函数中要进行计数的列。下面我们新建度量值"总订单量"使用COUNTA函数统计"2022年点播订单表"中总订单数量:

度量值DAX公式为:总订单量 = COUNTA("2022年点播订单表"[订单号])

将创建的"总订单量"度量值拖入到之前创建的"多行卡"中,操作如下:

除了以上计数的需求外,在数据分析时我们还需要进行去重统计,这就需要用到DISTINCTCOUNT函数,DISTINCTCOUNT函数的用法如下:

DISTINCTCOUNT(ColumnName)

复制

以上传入的"ColumnName"列就是需要统计不重复数的列。下面我们创建新的度量值"不重复机器数"来统计"2022年点播订单表"中不重复的机器数量,操作如下:

度量值DAX公式为:不重复机器数 = DISTINCTCOUNT("2022年点播订单表"[机器ID])

将创建的"不重复机器数"度量值拖入到之前创建的"多行卡"中,操作如下:

三、相除统计

在Power BI中有一些场景需要使用到数据相除,我们可以通过"/"符号实现或者使用"DIVIDE"函数实现。使用"/"符号时分母不能为0,使用DIVIDE分母可以为零,这时结果会返回空值,由于DIVIDE函数比较安全,在相除场景下我们经常使用DIVIDE函数。DIVIDE函数的用法如下:

DIVIDE(分子,分母,[分母为零或空时返回的值,默认为空值])

复制

下面通过DIVIDE函数来统计"2022年点播订单表"中成交订单均价(使用总营收金额/总订单数),这里也是通过创建"度量值"来实现,操作如下:

度量值DAX公式为:订单均价 = DIVIDE("度量值表"[总营收金额],"度量值表"[总订单量])

将创建的"订单均价"度量值拖入到之前创建的"多行卡"中,操作如下:

四、排序统计

在Power BI中要实现排序功能可以借助RANKX和ALL函数来实现。RANKX函数功能是排序,其用法如下:

RANKX(表,表达式)

复制

RANKX函数中"表"指的是需要排序的表单,也可以是通过DAX表达式生成的表单,一般我们可以搭配ALL来生成表单,"表达式"是指排序的依据。

ALL函数功能是返回表中所有行或列中的所有值并忽略已应用的任何筛选器,即去除筛选。其用法如下:

ALL([TableNameOrColumnName],[ColumnName]... ...)

复制

ALL第一个参数可以是表也可以是列,表示对表或者列去除筛选。

在使用RANKX函数时必须搭配ALL函数一起使用,表示去除筛选起到绝对排序的效果。下面通过RANKX函数和ALL函数结合创建"商圈营收排名"度量值来统计"2022年点播订单表"中商圈类型营收金额的排名。

首先创建"商圈营收排名"度量值,度量值DAX公式为:商圈营收排名 = RANKX(ALL("门店信息"[商圈类型]),"度量值表"[总营收金额] )

将创建的"商圈营收排名"度量值拖入到之前创建的"表"中,操作如下:

可以看到商圈类型中对应的排名结果。

五、占比统计

一些场景下我们需要统计占比,可以通过DIVIDE和CALCULATE函数来实现,DIVIDE函数前面有介绍,不再赘述。CALCULATE函数是DAX函数中最重要和常用的函数,主要功能是根据指定的条件对数据进行筛选然后按照指定的表达式进行计算,找出满足条件的数据,其用法如下:

CALCULATE(表达式,[筛选器1],[筛选器2]... ...)

复制

以上"表达式"参数是指对筛选后的数据进行计算的表达式,可以执行各种聚合计算,后续参数是一系列的筛选器,筛选器也可以为空,多个筛选器之间用逗号分割,多个筛选器都满足的数据集合才会被指定的表达式进行计算,并返回计算的结果。例如统计"2022年点播订单表"中单曲套餐订单数与总订单量的占比,可以通过以下步骤实现:

首先创建度量值"单曲占比量",度量值DAX公式为:单曲占比量 = DIVIDE(CALCULATE("度量值表"[总订单量],"2022年点播订单表"[套餐名称]="单曲"),"度量值表"[总订单量])

将创建的"单曲占比量"度量值拖入到之前创建的"多行卡"中,操作如下:

可以看到单曲点播的订单占了总订单的将近1半。

六、累计统计

在Power BI中针对时间维度进行累计值统计也是常见的场景,例如统计每月累计交易额、统计每个季度累计交易额等,这就要使用到累计相关的DAX函数,累计相关的DAX函数有三个:TOTALYTD、TOTALQTD、TOTALMTD。

TOTALYTD:计算从本年开始到当前的累计。TOTALQTD:计算从本季度开始到当前的累计。TOTALMTD:计算从本月开始到当前的累计。

这几个函数的用法一致,只不过计算的时间维度不同。下面我们分别进行介绍。

需求:针对"2022年点播订单表"统计累计到当前的总营收金额。

以上需求我们可以使用TOTALYTD进行统计,TOTALYTD用法如下:

TOTALYTD(表达式,日期列,[筛选器],[截止日期])

复制

表达式参数代表统计的表达式,日期列参数指定日期时间列,筛选器参数可以过滤数据,截止日期参数指定的是统计截止日期,一般我们使用TOTALYTD时只需要传入前2个参数即可。

完成以上需求首先创建"年累计营收"度量值,并输入度量值DAX公式:年累计营收 = TOTALYTD("度量值表"[总营收金额],"动态日期表"[Date])

在"报表"视图中创建创建可视化"矩阵",在动态日期表中依次选择"季度"和"月份"设置为列,在度量值表中将刚刚创建的"年累计营收"设置为值,绘制可视化图如下:

按照以上同样的方式,创建"季累计营收"和"月累计营收"度量值,并输入对应的度量值DAX公式为: TOTALQTD("度量值表"[总营收金额],"动态日期表"[Date]) 和 TOTALMTD("度量值表"[总营收金额],"动态日期表"[Date]) ,并绘制"矩阵"图,如下:

七、同比与环比统计

在数据分析中我们也经常遇到同比和环比的分析场景,同比和环比是两个不同的概念,同比是指相邻时间段某个相同的时间点的比较,例如:2021与2022年是两个相邻的年份(相邻时间段),2021年5月与2022年5月是这两个相邻时间段的相同时间点都是5月,比较这两个时间段的数据是同比。

环比相对于同比简单,即:相邻的两个时间段的比较,例如:2022年5月和2022年6月数据比较这就是环比。

在资料中找到"2021~2022年工资表"导入到PowerBI中并修改对应的日期格式,如下图所示:

下面我们分别在PowerBI中针对"2021~2022年工资表"数据统计工资月同比增长率与工资月环比增长率。

统计月同比增长率

在PowerBI中针对同比业务场景我们需要用到SAMEPERIODLASTYEAR函数,该函数作用是返回去年同期对应数据,通常用来与去年同期进行同比,其用法如下:

SAMEPERIODLASTYEAR(日期列)

复制

以上"日期列"参数需要传入日期的列。工资月同比增长率计算方式为:(本月工资-去年同期月份工资)/去年同期月份工资,可见统计月同比增长率除了要使用SAMEPERIODLASTYEAR函数外还需要用到CALCULATE和DIVIDE函数,按照以下步骤来统计工资月同比增长率:

在"度量值表"中创建新的度量值"当月工资"

创建该度量值的主要目的是方便后续的使用,也可以不创建。度量值DAX公式为:当月工资 = SUM("2021~2022年工资表"[工资])

在"度量值表"中创建新的度量值"去年同期月份工资"

度量值DAX公式为:去年同期月份工资 = CALCULATE("度量值表"[当月工资],SAMEPERIODLASTYEAR("2021~2022年工资表"[年月]))

在"度量值表"中创建新的度量值"工资同比增长率"

度量值DAX公式为:工资同比增长率 = DIVIDE("度量值表"[当月工资]-"度量值表"[去年同期月份工资],"度量值表"[去年同期月份工资])

在"报表"视图中创建可视化"矩阵"展示"工资同比增长率"数据

注意需要修改"2021~2022年工资表"中年月列的格式为非层次结构。在可视化表中我们可以看到对应的"去年同期月份工资"及"工资同比增长率"结果。

统计月环比增长率

计算工资月环比增长率公式为:(本月工资-上月工资)/上月工资,如果想要根据本月工资获取到上月工资我们就需要用到DATEADD函数,DATEADD函数用法如下:

DATEADD(日期列,偏移量,偏移单位)

复制

以上"日期列"参数指的是包含日期的列;"偏移量"参数指定的是从日期列中需要添加或减去的时间间隔数;"偏移单位"参数指的是Day,Month,Quarter,Year按照哪个时间维度偏移。按照以下步骤来统计工资月环比增长率:

在"度量值表"中创建新的度量值"当月工资"

这个在计算同比时已经创建可以省略。

在"度量值表"中创建新的度量值"上月工资"

度量值DAX公式为:上月工资 = CALCULATE("度量值表"[当月工资],DATEADD("2021~2022年工资表"[年月],-1,MONTH))

在"度量值表"中创建新的度量值"工资环比增长率"

度量值DAX公式为:工资环比增长率 = DIVIDE("度量值表"[当月工资]-"度量值表"[上月工资],"度量值表"[上月工资])

在"报表"视图中创建可视化"矩阵"展示"工资环比增长率"数据

在可视化表中我们可以看到对应的"工资环比增长率"结果。

资讯推荐:大数据分析工具Power BI(七):DAX使用场景及常用函数

2023-03-28 04:15:02

天天百事通!同样是“过期”酒,为何啤酒建议扔掉,而白酒却能升值?答案在此

2023-03-27 23:58:23

呼伦贝尔的“黑土粮仓”:近576万亩耕地良种覆盖率达100% 全球通讯

2023-03-27 21:42:00

天士力:2022年归母净利润亏损约2.6亿元-天天快看

2023-03-27 19:55:06

献身于爱 维塔斯简谱_献身于爱

2023-03-27 18:20:19

《Storyteller》第二章通关攻略一览

2023-03-27 17:16:21

最近,市场上首个公募基金品牌价值榜发布了!四大维度全面丈量基金公司品牌价值 天天播报

2023-03-27 16:21:23

世界速读:海内外艺术家联动 展现插画里的世遗泉州

2023-03-27 14:46:06

2023杭州钱塘区幼儿园报名消息(附招生时间安排)_世界头条

2023-03-27 13:09:25

天天亮点!不该责怪武磊,球迷一针见血指出,国足客场不敌新西兰的原因

2023-03-27 12:05:25

上汽集团:2022年全年销售整车同比下滑2.94%至530.26万辆,新能源汽车销量同比增46.51%至107.34万辆

2023-03-27 11:03:06

“双向循环” 海口志愿者累计兑换47.6万余服务积分

2023-03-27 09:39:14

当前资讯!云南曲靖强链补链培育千亿元级产业

2023-03-27 08:21:50

数据显示,数学选填是拉开差距的关键!

2023-03-27 05:56:33

瞎掰的意思是什么意思_知道什么叫 ldquo 瞎掰 rdquo 吗

2023-03-27 00:51:31

2021年股市五一放假时间(股市五一2021放假安排)-焦点观察

2023-03-26 21:26:34

三江源牧民摄影师用影像让世界了解家乡_前沿资讯

2023-03-26 19:08:00

秦巴盆地美汉中 世界热推荐

2023-03-26 17:11:58

好友123我的上网从这开始_好友123网址设为主页 每日精选

2023-03-26 15:00:23

世界热推荐:家庭蛋挞的简易制作方法

2023-03-26 13:45:08

通讯!电影《不止不休》:永远有人愿意为真相付出心血,新闻并没有死去

2023-03-26 11:57:07

硬笔书法作品专用纸电子版_硬笔书法作品|环球简讯

2023-03-26 09:54:49

黑豹主唱秦勇_黑豹主唱|全球快讯

2023-03-26 06:55:35

福州永泰哪些地方有温泉

2023-03-26 05:49:28

天天快看点丨如何把电脑分盘合并_两台电脑如何共享文件夹

2023-03-26 02:01:58

8个迹象,表明你拥有成熟的爱情

2023-03-25 22:11:33

牡丹,想开了!江城武汉唯一免费牡丹园就在汉阳_天天热推荐

2023-03-25 19:12:21

天天新资讯:迪达拉之死

2023-03-25 17:05:47

环球快消息!氧化铁脱硫剂商品报价动态(2023-03-25)

2023-03-25 16:43:04

奔腾tt77_奔腾tt

2023-03-25 14:25:22

每日速讯:陕西省与中国航天科工集团签署战略合作框架协议

2023-03-25 12:00:56

微头条丨新华全媒+|保障就位干劲足——多地春耕一线扫描

2023-03-25 10:15:47

求类似辛亥大英雄的小说

2023-03-25 09:16:28

怎么做葱花饼_葱花饼的做法步骤

2023-03-25 07:50:44

劳动密集型产业创业_劳动密集型产业-百事通

2023-03-25 04:42:35

某高管:杰伦-布朗是个聪明人-每日视点

2023-03-25 00:13:41

今热点:月掩金星天象上演,我国处于最佳观测位置

2023-03-24 21:40:39

潘冬子的扮演者是谁

2023-03-24 20:13:16

存火灾隐患,现代、起亚在美国召回超57万辆汽车 今日快讯

2023-03-24 19:51:24

环球观速讯丨绿城7.2亿摘得重庆高新区一宗商住地 楼面地价11078元/㎡

2023-03-24 18:15:15

焦点速讯:6张信用卡全部逾期怎么办?因为信用卡我坐牢了还要还钱吗?

2023-03-24 17:10:56

【播资讯】京东旗舰店啥意思_京东卖场型旗舰店是什么意思

2023-03-24 16:03:27

中国有色金属工业协会硅业分会:本周工业硅市场成交极为清淡 硅价延续跌势

2023-03-24 14:25:15

“车规级”品质旗舰!魅族20系列硬件质量测试超15000项|今日聚焦

2023-03-24 13:05:09

世界聚焦:糯米粉可以做什么好吃的简单方便

2023-03-24 12:47:39

文昌东方·龙湾还有没有小户型出售(东方·龙湾小户型汇总)

2023-03-24 11:30:12

去年我国绿色优质农产品总量达2亿吨

2023-03-24 10:26:46

五华县气象台发布雷雨大风黄色预警【III级/较重】【2023-03-24】

2023-03-24 09:25:25

【学习先进典型凝聚奋进力量】致富不忘本丹心报乡恩

2023-03-24 08:08:21

焦点短讯!兀是有理数还是无理数(兀颜光)

2023-03-24 05:03:07

每日信息:坏账准备借方贷方各表示什么?_坏账准备借贷方各表示什么

2023-03-24 00:49:07

环球即时:哈尔滨有哪些好的技校

2023-03-23 23:36:29

每日热点:中国林肯是长安什么

2023-03-23 21:48:34

环球要闻:贸然驶出路边停车位,小轿车被撞致三车受损

2023-03-23 20:02:34

人福医药: 人福医药2022年年度利润分配预案公告-环球快看

2023-03-23 18:32:41

绝对值是什么意思_绝对值的化简方法口诀_全球今头条

2023-03-23 17:12:54

新疆怎么会存在恐龙化石

2023-03-23 16:19:40

景德镇学院陶瓷美术与设计艺术学院开展“活力清晨,不负青春”早操晨练活动 世界今日报

2023-03-23 16:07:15

【天天新要闻】德国秩序政策理论与实践文集

2023-03-23 14:42:07

国新B股3月23日快速反弹

2023-03-23 13:23:37

当前要闻:平凉华亭:“党建+”赋能乡村振兴“加速跑”

2023-03-23 12:07:45

每日速讯:2023金太阳百万联考各科试卷及答案解析_更新中

2023-03-23 10:43:14

焦点速讯:罗氏制药中国与华润医药商业就抗流感创新药物速福达达成战略合作

2023-03-23 09:17:12

【环球热闻】NBA帕克多少岁

2023-03-23 08:53:54

环球快消息!风光正好 “热雪”沸腾——冬奥会后首个雪季崇礼走访观察

2023-03-23 07:42:16

天天时讯:美亚光电(002690):3月22日北向资金增持125.29万股

2023-03-23 03:42:17

银行理财产品提前终止频现,市场优胜劣汰加剧 当前头条

2023-03-22 23:07:10

节能国祯2022年度拟10派1.8元 世界观速讯

2023-03-22 20:54:08

每日视点!拍大师怎么拍游戏,拍大师怎么拍游戏最好图片

2023-03-22 19:58:46

人寿年丰是什么意思_成语人寿年丰的介绍

2023-03-22 18:46:24

耽美触手文h_耽美触手文

2023-03-22 17:10:17

中国五女将本周出战LPGA续航锦标赛 刘钰领衔殷小雯刘艳迎2023首秀|世界热点

2023-03-22 16:05:05

每日热议!银河证券:猪价低位震荡 母猪产能去化或可延续

2023-03-22 14:25:49

天天热点!个人养老金个税怎么扣除?2023年个人养老金抵扣个税操作流程是什么?

2023-03-22 11:58:56

美方称b21首飞推迟但今年仍能飞 美空军酝酿大动作

2023-03-22 10:03:15

恒玄科技03月21日被沪股通减持10.16万股

2023-03-22 08:19:33

慎笃的意思是什么_慎微笃行是什么意思|天天简讯

2023-03-22 04:56:36

寻访荆楚好老师|全国最美教师张龙:自己走100步,不如带动100个人走一步 全球报道

2023-03-22 00:12:10

今日股中天国富证券市新闻头条

2023-03-21 21:03:13

第11个国际森林日 北京举办义务植树尽责活动百余场 全球快看

2023-03-21 18:52:53

焦点!一汽大众推出优惠补贴 最高5万元

2023-03-21 16:55:29

注册网易账号显示手机绑定太多_注册网易账号 天天精选

2023-03-21 14:55:23

环球观焦点:厦门住宅建设集团6亿元中期票据将付息 利率3.68%

2023-03-21 12:18:30

内蒙古自治区达尔罕茂明安联合旗发布大风蓝色预警-世界热头条

2023-03-21 10:20:38

当前报道:听说春分立鸡蛋成功率高事件简单介绍

2023-03-21 08:55:14

“ChatGPT之父”也慌了:AI会淘汰很多岗位 很可能被不当滥用

2023-03-21 04:51:37

环球报道:电子表格如何计算年龄_电子表格年龄计算公式

2023-03-21 00:43:11

环球资讯:2023年中国(浙江·江山)蜂业博览会暨全国蜂产品信息交流会圆满闭幕

2023-03-20 20:50:30

海天精工: 关于宁波海天精工股份有限公司非经营性资金占用及其他关联资金往来情况汇总表的专项审计报告-当前最新

2023-03-20 18:30:21

全球短讯!恒嘉融资租赁(00379.HK)3月20日收盘跌11.5%

2023-03-20 16:42:59

南阳卧龙区:植树添新绿 共建绿色家园 环球快资讯

2023-03-20 14:44:21

环球时讯:支付宝个人养老金如何提取出来?有影响吗?

2023-03-20 12:15:20

理想汽车的实用主义是什么? 头条焦点

2023-03-20 10:06:17

当前播报:男子恶意P图侮辱女性 遏制黄谣当溯源断根

2023-03-20 08:06:57

冬天,鸡鸭汤都没有她好喝,简单易煮,营养极其丰富,还能补钙长高

2023-03-20 03:57:26

快讯:小米max3手机参数配置_小米max3手机参数

2023-03-19 23:01:57

洪水包围时哪些物品可以作为逃生工具_洪水包围拿哪些工具逃生呢 全球微动态

2023-03-19 19:01:51

最新消息:濮阳市华龙区交通违章要缴纳多少费用?

2023-03-19 15:43:12

乡约福建:解民众“急难愁盼” “田间警务”保安全助振兴_全球视点

2023-03-19 11:48:02

章若楠真的很懂得时髦搭配法则,看似简单随意,却让人忍不住心动-独家

2023-03-19 08:40:15