Power Pivot随笔-DAX函数用法
1.DISTINCTCOUNT('表'[字段])
![](/assets/blank.gif)
订单数:=DISTINCTCOUNT('订单记录'[订单号])
2.LEN()、MID()、FIND()实现提取和合并
出生年列:如果15位身份证,拼接年,否则直接显示
=IF(LEN('订单记录'[身份证号码])=15,"19" & MID('订单记录'[身份证号码],7,2), MID('订单记录'[身份证号码],7,4))
号码长度列:计算
=LEN('订单记录'[身份证号码])
会员编号:拆分
=RIGHT('订单记录'[会员号],LEN('订单记录'[会员号])-FIND("-",'订单记录'[会员号]))
![](/assets/blank.gif)
3.YEAR()、TODAY()计算年龄与分组
年龄列:
=YEAR(TODAY())-'订单记录'[出生年]
年龄分组列:
=IF('订单记录'[年龄]<=20,"<=20",IF('订单记录'[年龄]<=40,"20-40",">40"))
![](/assets/blank.gif)
4.RPLACE()、SUBSTITUTE()替换文字
列:
=REPLACE('订单记录'[订单号],3,1,"P")
列:
=SUBSTITUTE('订单记录'[订单号],"O","P",1)
![](/assets/blank.gif)
5.DATE()日期组合
=DATE('订单记录'[出生年],'订单记录'[出生月],'订单记录'[出生日])
![](/assets/blank.gif)
6.COUNTA()、COUNTROWS()、COUNTBLANK()区别
COUNTA:=COUNTA('订单记录'[订单号])
COUNTROWS:=COUNTROWS('订单记录')
COUNTBLANK:=COUNTBLANK('订单记录'[订单号])
![](/assets/blank.gif)
7.利用
LATEDTABLE()、RELATED()关系函数统计数量和RANK.EQ()排名
关系视图
![](/assets/blank.gif)
在省份区域表中,通过关联,统计各省份的订单数
=COUNTROWS(RELATEDTABLE('订单记录'))
订单数量排名
=RANK.EQ('省份区域'[省份订单数],'省份区域'[省份订单数])
![](/assets/blank.gif)
是否大单列,间接关联
=IF('订单记录'[金额]>RELATED('区域大单'[大单金额]),1,0)
![](/assets/blank.gif)
![](/assets/blank.gif)
工作日关联 RELATED()
=RELATED('工作日'[工作日])
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
工作日天数求和
工作日天数:=SUM([计算列 1])
平均销售额计算
工作日平均销售额:='订单记录'[销售总额]/'日历'[工作日天数]
![](/assets/blank.gif)
8.Calculate()的场景应用
a:基于度量值的示例1(单表)
在度量值销售总额中,计算大单金额,第二个参数开始起到筛选作用
销售总额:=SUM([金额])
筛选金额:=CALCULATE('订单记录'[销售总额],'订单记录'[是否大单]=1)
销售区域列:
=RELATED('省份区域'[区域])
度量值:
华东大单金额:=CALCULATE('订单记录'[销售总额],'订单记录'[是否大单]=1,'订单记录'[销售区域]="华东")
![](/assets/blank.gif)
b:基于度量值的示例2(多表)
关联到其他表比如说日历,可以通过筛选日历的年来动态实现销售金额的统计。
关系图
![](/assets/blank.gif)
2022年销售额:=CALCULATE('订单记录'[销售总额],'日历'[年]=2022)
2023年销售额:=CALCULATE('订单记录'[销售总额],'日历'[年]=2023)
![](/assets/blank.gif)
c:IF()用法(多表)
客户和销售的关系图
![](/assets/blank.gif)
=IF('订单记录'[订单数量]>=2,"多次购买",IF('订单记录'[订单数量]=1,"一次购买","未购买"))
在客户表中对客户的购买频次进行分类
![](/assets/blank.gif)
d.Calculate()上下文
CALCULATE('订单记录'[销售总额],ALL('订单记录'[产品名称])
CAL随着年份变更,%2的百分比也随着年份正常变化
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
CALCULATE('订单记录'[销售总额],ALL('订单记录'))
CAL随着年份变更,%的百分比也随着年份不变化。ALL('订单记录')对所有上下文,应该根据业务场景需求,锁定某个统计列,可以活动正确的占比。
9.SUMMARIZE()用法,提取不重复记录值,并链接回表
度量值 :=SUMMARIZE('订单记录','订单记录'[订单号],"金额",'订单记录'[销售总额])
选择表格,选择连接(为了提高读取效率,这里选择数据少的连接)
![](/assets/blank.gif)
![](/assets/blank.gif)
基于度量值的链接回表
evaluate
SUMMARIZE('订单记录','订单记录'[订单号],"金额",'订单记录'[销售总额])
进入表格编辑模式,选择命令类型DAX,输入表达式。
![](/assets/blank.gif)
或者
基于列的链接回表
evaluate
SUMMARIZE('订单记录','订单记录'[订单号],'订单记录'[金额])
![](/assets/blank.gif)
以订单记录为对象,选取"订单号"列,返回每个订单的相应金额的子表到Excel中。
列会受筛选上下文影响,推荐度量值。
连接回表的结果如下
![](/assets/blank.gif)
10.GENERATE(),笛卡尔乘积
表6
![](/assets/blank.gif)
表7
![](/assets/blank.gif)
evaluate
GENERATE('表6','表7')
![](/assets/blank.gif)
![](/assets/blank.gif)
11.SUMX()
SUMX:=SUMX('订单记录','订单记录'[数量]*'订单记录'[金额])
![](/assets/blank.gif)
12.筛选函数FILTER()
筛选对象
![](/assets/blank.gif)
FILTER:=FILTER('订单记录','订单记录'[产品名称]="iphone14")
结果
![](/assets/blank.gif)
VALUES('订单记录'[产品名称])
![](/assets/blank.gif)
按金额排序,返回排名前3的订单。
TOPN(3,'订单记录','订单记录'[金额],ASC)
![](/assets/blank.gif)
SUMX加FILTER实现无关系的数据获取
![](/assets/blank.gif)
![](/assets/blank.gif)
SUMX(FILTER('订单记录','区域经理'[区域]=RELATED('省份区域'[区域])),'订单记录'[金额])
![](/assets/blank.gif)
13.EARLIER()
a.累计金额
=SUMX(FILTER('订单记录',EARLIER('订单记录'[金额])<='订单记录'[金额]),'订单记录'[金额])
SUMX
第一次行计算对象,通过Earlier把比自己大的金额筛选出来,结果500
第二次行计算对象,通过Earlier把比自己大的金额筛选出来,结果500和300
![](/assets/blank.gif)
b.排名
=COUNTROWS(FILTER('订单记录',EARLIER('订单记录'[金额])<'订单记录'[金额]))+1
效果图
![](/assets/blank.gif)
14.USERELATIONSHIP()
下单总数:=SUM([数量])
送货数量:=CALCULATE([下单总数],USERELATIONSHIP('订单记录'[实际送货日期],'日历'[Date]))
![](/assets/blank.gif)
![](/assets/blank.gif)
2022年下单2次,送货1次
2023年下单21次,送货22次(其中一次是22年的单子)
效果如下
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
Power Pivot随笔-DAX函数用法相关推荐
- Power BI(十一)Power Pivot常用DAX函数
Power BI(十一)Power Pivot常用DAX函数 主要提及以下的函数,用法其实和平常的Excel公式差不多 数据的提取和合并函数 数据的格式转换函数 聚合函数 逻辑函数 信息函数 数学函数 ...
- mysql的count函数可以加表达式嘛_power bi15——power pivot的DAX表达式
power pivot的DAX表达式内容包括2部分: power pivot的DAX表达式概述 power pivot的DAX表达式练习 问题: 用数据透视表求出每名销售人员手中高赢单率低风险商机金额 ...
- Power BI(二十)power pivot之Earlier函数 - DAX进阶的里程碑
Power BI(二十)power pivot之Earlier函数 - DAX进阶的里程碑 Earlier函数之累计求和.累计百分比 帕累托法则往往称为二八原理,即百分之八十的问题是百分之二十的原因所 ...
- POWER BI 中DAX函数的应用(下篇)
POWER BI 中DAX函数的应用(下篇) 任务:创建度量值公式 下载并打开 Contoso 销售示例 Power BI Desktop 文件. 在"报表"视图的字段列表中,右键 ...
- Power BI(十五)power pivot之Summarize函数
Power BI(十五)power pivot之Summarize函数 我们想统计订单金额的销售金额区间分布,想得到的效果图如下 如下图一笔订单会有多笔记录 传统的方法 生成数据透视表 复制到一个新表 ...
- POWER BI 中DAX函数的应用
POWER BI 中DAX函数的应用 什么是DAX函数 DAX 是公式或表达式中可用于计算并返回一个或多个值的函数.运算符或常量的集合. 简单来说,DAX 可帮助你通过模型中已有的数据来创建新信息. ...
- Power Bi:DAX函数总结
文章目录 日期与时间函数 筛选器函数 逻辑判断函数 逻辑函数 统计函数 文本函数 日期与时间函数 1.计算年初至今累计--TOTALYTD函数例如计算年初至今累计的销售金额: [年累计金额]:= TO ...
- power povit(DAX函数)
DAX函数类似于Excel函数 智能感知:单引号--表以及表的字段 中括号--度量值 if函数:if(条件,条件为真返回的值,条件为假返回的值) 注意:字符串要用"" and:在p ...
- desc excel 公式_Excel小技巧之Power Pivot Generate函数、高级DAX函数与常用筛选器函数...
一.使用Generate函数创建信息叠加表 [目标:将姓名与月份组合,生成每个月份均有对应姓名对应的表格][基本思路:pivot中创建度量值,利用DAX函数创建链接回表后在EXCEL释放] ...
最新文章
- lsit集合去重复 顶级表达式
- Docker最全教程——从理论到实战(三)
- [C++]用VC++来设置获得注册表的键值(问题解决)
- 几个常用的dos命令
- 2020-08-22 每日一句
- html鼠标右键代码,Html鼠标右键菜单代码
- 大数据测试理论与方法
- 微信美食菜谱小程序系统毕业设计毕设(6)开题答辩PPT
- Spring入门之bean的配置
- mysql复制表结构(包括索引)
- 白领失眠危害大 如何拯救上班族?
- 辟邪剑法之字符串常用API
- matlab [c, lags]=xcorr(y1,y2) 转python
- syntactic与semantic
- win10系统下载中文版 64位32位 官方版​
- 2022危险化学品生产单位安全生产管理人员考试题库及模拟考试
- Java中的NaN(非数)、Infinity(无穷大)
- 在linux系统中 创建用户账户的同时,在Linux系统中大批量建立帐户
- 内外网的交流安全(DMZ,网闸,防火墙)
- 权重设计:客观赋权法的说明(熵权法/变异系数法/CRCIII法/TOPSIS法)
热门文章
- 中国居民退休准备指数创九年最高,高知高收入人群指数较高,18-24岁青年人预期最为悲观 | 美通社头条...
- Docker 什么是镜像以及镜像分层详解
- 怎么把语音转成文字查看
- 店铺信息html,店铺详情.html · dengzhao/prd_zhangyao - Gitee.com
- Linux下使用mpg123实现简单的MP3音乐播放器(记录自己的学习路程)
- 虚拟环境下的spyder安装
- pytorch_LSTM_写诗
- [四]机器学习之支持向量机SVM
- 朋友圈可以发30秒视频了,分享功能会再次打造社交裂变大爆发吗?
- java计算本金利息_Java源码——复利的计算(compound interest)