1.DISTINCTCOUNT('表'[字段])

订单数:=DISTINCTCOUNT('订单记录'[订单号])

2.LEN()、MID()、FIND()实现提取和合并

出生年列:如果15位身份证,拼接年,否则直接显示
=IF(LEN('订单记录'[身份证号码])=15,"19" & MID('订单记录'[身份证号码],7,2), MID('订单记录'[身份证号码],7,4))
号码长度列:计算
=LEN('订单记录'[身份证号码])
会员编号:拆分
=RIGHT('订单记录'[会员号],LEN('订单记录'[会员号])-FIND("-",'订单记录'[会员号]))

3.YEAR()、TODAY()计算年龄与分组

年龄列:
=YEAR(TODAY())-'订单记录'[出生年]
年龄分组列:
=IF('订单记录'[年龄]<=20,"<=20",IF('订单记录'[年龄]<=40,"20-40",">40"))

4.RPLACE()、SUBSTITUTE()替换文字

列:
=REPLACE('订单记录'[订单号],3,1,"P")
列:
=SUBSTITUTE('订单记录'[订单号],"O","P",1)

5.DATE()日期组合

=DATE('订单记录'[出生年],'订单记录'[出生月],'订单记录'[出生日])

6.COUNTA()、COUNTROWS()、COUNTBLANK()区别

COUNTA:=COUNTA('订单记录'[订单号])
COUNTROWS:=COUNTROWS('订单记录')
COUNTBLANK:=COUNTBLANK('订单记录'[订单号])

7.利用

LATEDTABLE()、RELATED()关系函数统计数量和RANK.EQ()排名

关系视图

在省份区域表中,通过关联,统计各省份的订单数
=COUNTROWS(RELATEDTABLE('订单记录'))
订单数量排名
=RANK.EQ('省份区域'[省份订单数],'省份区域'[省份订单数]) 
是否大单列,间接关联
=IF('订单记录'[金额]>RELATED('区域大单'[大单金额]),1,0)

工作日关联 RELATED()

=RELATED('工作日'[工作日])

工作日天数求和

工作日天数:=SUM([计算列 1])

平均销售额计算

工作日平均销售额:='订单记录'[销售总额]/'日历'[工作日天数]

8.Calculate()的场景应用

a:基于度量值的示例1(单表)

在度量值销售总额中,计算大单金额,第二个参数开始起到筛选作用

销售总额:=SUM([金额])
筛选金额:=CALCULATE('订单记录'[销售总额],'订单记录'[是否大单]=1)
销售区域列:
=RELATED('省份区域'[区域])
度量值:
华东大单金额:=CALCULATE('订单记录'[销售总额],'订单记录'[是否大单]=1,'订单记录'[销售区域]="华东")

b:基于度量值的示例2(多表)

关联到其他表比如说日历,可以通过筛选日历的年来动态实现销售金额的统计。

关系图

2022年销售额:=CALCULATE('订单记录'[销售总额],'日历'[年]=2022)
2023年销售额:=CALCULATE('订单记录'[销售总额],'日历'[年]=2023)

c:IF()用法(多表)

客户和销售的关系图

=IF('订单记录'[订单数量]>=2,"多次购买",IF('订单记录'[订单数量]=1,"一次购买","未购买"))

在客户表中对客户的购买频次进行分类

d.Calculate()上下文

CALCULATE('订单记录'[销售总额],ALL('订单记录'[产品名称])

CAL随着年份变更,%2的百分比也随着年份正常变化

CALCULATE('订单记录'[销售总额],ALL('订单记录'))

CAL随着年份变更,%的百分比也随着年份不变化。ALL('订单记录')对所有上下文,应该根据业务场景需求,锁定某个统计列,可以活动正确的占比。

9.SUMMARIZE()用法,提取不重复记录值,并链接回表

度量值 :=SUMMARIZE('订单记录','订单记录'[订单号],"金额",'订单记录'[销售总额])

选择表格,选择连接(为了提高读取效率,这里选择数据少的连接)

基于度量值的链接回表

evaluate
SUMMARIZE('订单记录','订单记录'[订单号],"金额",'订单记录'[销售总额])

进入表格编辑模式,选择命令类型DAX,输入表达式。

或者

基于列的链接回表

evaluate
SUMMARIZE('订单记录','订单记录'[订单号],'订单记录'[金额])

以订单记录为对象,选取"订单号"列,返回每个订单的相应金额的子表到Excel中。

列会受筛选上下文影响,推荐度量值。

连接回表的结果如下

10.GENERATE(),笛卡尔乘积

表6

表7

evaluate
GENERATE('表6','表7')

11.SUMX()

SUMX:=SUMX('订单记录','订单记录'[数量]*'订单记录'[金额])

12.筛选函数FILTER()

筛选对象

FILTER:=FILTER('订单记录','订单记录'[产品名称]="iphone14")

结果

VALUES('订单记录'[产品名称])

按金额排序,返回排名前3的订单。

TOPN(3,'订单记录','订单记录'[金额],ASC)

SUMX加FILTER实现无关系的数据获取

SUMX(FILTER('订单记录','区域经理'[区域]=RELATED('省份区域'[区域])),'订单记录'[金额])

13.EARLIER()

a.累计金额

=SUMX(FILTER('订单记录',EARLIER('订单记录'[金额])<='订单记录'[金额]),'订单记录'[金额])

SUMX

第一次行计算对象,通过Earlier把比自己大的金额筛选出来,结果500

第二次行计算对象,通过Earlier把比自己大的金额筛选出来,结果500和300

b.排名

=COUNTROWS(FILTER('订单记录',EARLIER('订单记录'[金额])<'订单记录'[金额]))+1

效果图

14.USERELATIONSHIP()

下单总数:=SUM([数量])
送货数量:=CALCULATE([下单总数],USERELATIONSHIP('订单记录'[实际送货日期],'日历'[Date]))

2022年下单2次,送货1次

2023年下单21次,送货22次(其中一次是22年的单子)

效果如下

Power Pivot随笔-DAX函数用法相关推荐

  1. Power BI(十一)Power Pivot常用DAX函数

    Power BI(十一)Power Pivot常用DAX函数 主要提及以下的函数,用法其实和平常的Excel公式差不多 数据的提取和合并函数 数据的格式转换函数 聚合函数 逻辑函数 信息函数 数学函数 ...

  2. mysql的count函数可以加表达式嘛_power bi15——power pivot的DAX表达式

    power pivot的DAX表达式内容包括2部分: power pivot的DAX表达式概述 power pivot的DAX表达式练习 问题: 用数据透视表求出每名销售人员手中高赢单率低风险商机金额 ...

  3. Power BI(二十)power pivot之Earlier函数 - DAX进阶的里程碑

    Power BI(二十)power pivot之Earlier函数 - DAX进阶的里程碑 Earlier函数之累计求和.累计百分比 帕累托法则往往称为二八原理,即百分之八十的问题是百分之二十的原因所 ...

  4. POWER BI 中DAX函数的应用(下篇)

    POWER BI 中DAX函数的应用(下篇) 任务:创建度量值公式 下载并打开 Contoso 销售示例 Power BI Desktop 文件. 在"报表"视图的字段列表中,右键 ...

  5. Power BI(十五)power pivot之Summarize函数

    Power BI(十五)power pivot之Summarize函数 我们想统计订单金额的销售金额区间分布,想得到的效果图如下 如下图一笔订单会有多笔记录 传统的方法 生成数据透视表 复制到一个新表 ...

  6. POWER BI 中DAX函数的应用

    POWER BI 中DAX函数的应用 什么是DAX函数 DAX 是公式或表达式中可用于计算并返回一个或多个值的函数.运算符或常量的集合. 简单来说,DAX 可帮助你通过模型中已有的数据来创建新信息. ...

  7. Power Bi:DAX函数总结

    文章目录 日期与时间函数 筛选器函数 逻辑判断函数 逻辑函数 统计函数 文本函数 日期与时间函数 1.计算年初至今累计--TOTALYTD函数例如计算年初至今累计的销售金额: [年累计金额]:= TO ...

  8. power povit(DAX函数)

    DAX函数类似于Excel函数 智能感知:单引号--表以及表的字段 中括号--度量值 if函数:if(条件,条件为真返回的值,条件为假返回的值) 注意:字符串要用"" and:在p ...

  9. desc excel 公式_Excel小技巧之Power Pivot Generate函数、高级DAX函数与常用筛选器函数...

    一.使用Generate函数创建信息叠加表 [目标:将姓名与月份组合,生成每个月份均有对应姓名对应的表格][基本思路:pivot中创建度量值,利用DAX函数创建链接回表后在EXCEL释放]       ...

最新文章

  1. lsit集合去重复 顶级表达式
  2. Docker最全教程——从理论到实战(三)
  3. [C++]用VC++来设置获得注册表的键值(问题解决)
  4. 几个常用的dos命令
  5. 2020-08-22 每日一句
  6. html鼠标右键代码,Html鼠标右键菜单代码
  7. 大数据测试理论与方法
  8. 微信美食菜谱小程序系统毕业设计毕设(6)开题答辩PPT
  9. Spring入门之bean的配置
  10. mysql复制表结构(包括索引)
  11. 白领失眠危害大 如何拯救上班族?
  12. 辟邪剑法之字符串常用API
  13. matlab [c, lags]=xcorr(y1,y2) 转python
  14. syntactic与semantic
  15. win10系统下载中文版 64位32位 官方版​
  16. 2022危险化学品生产单位安全生产管理人员考试题库及模拟考试
  17. Java中的NaN(非数)、Infinity(无穷大)
  18. 在linux系统中 创建用户账户的同时,在Linux系统中大批量建立帐户
  19. 内外网的交流安全(DMZ,网闸,防火墙)
  20. 权重设计:客观赋权法的说明(熵权法/变异系数法/CRCIII法/TOPSIS法)

热门文章

  1. 中国居民退休准备指数创九年最高,高知高收入人群指数较高,18-24岁青年人预期最为悲观 | 美通社头条...
  2. Docker 什么是镜像以及镜像分层详解
  3. 怎么把语音转成文字查看
  4. 店铺信息html,店铺详情.html · dengzhao/prd_zhangyao - Gitee.com
  5. Linux下使用mpg123实现简单的MP3音乐播放器(记录自己的学习路程)
  6. 虚拟环境下的spyder安装
  7. pytorch_LSTM_写诗
  8. [四]机器学习之支持向量机SVM
  9. 朋友圈可以发30秒视频了,分享功能会再次打造社交裂变大爆发吗?
  10. java计算本金利息_Java源码——复利的计算(compound interest)