DAX函数语法规范

Calculate函数

计算由指定筛选器修改的上下文中的表达式,作为表达式的结果值返回

语法:CALCULATE(<expression>,<filter1>,<filter2>…)expression要进行计算的表达式filter1…N定义筛选的条件
创建一个度量值:
产品数量2 = CALCULATE([产品数量],'产品明细'[品牌]="苹果")
【筛选苹果的产品数量】

ALL函数

返回表中的所有行或列中的所有值,同时忽略可能已应用的任何筛选器。 此函数对于清除表中所有行的筛选器以及创建针对表中所有行的计算非常有用。

语法:ALL({<table> | <column>[, <column>[, <column>[,…]]]})
创建一个度量值:
产品数量4 = CALCULATE([产品数量],all('产品明细'[产品名称]),'产品明细'[类别]="手机")
【先用ALL函数清除外部上下文,然后又新增了一个筛选条件,类别为"手机"的产品数量】

Divide函数

语法:DIVIDE(<numerator>, <denominator> [,<alternateresult>])- Numerator 被除数 - Denominator 除数 - Alternateresult (可选)被零除而导致错误时返回的值。如果没有提供,则默认值为 BLANK()。
创建一个度量值:
销售完成率 = DIVIDE([已完成],[销量目标])

日期同步,环比,累计

UserRelationship激活虚拟关系

指定要在特定计算中使用的关系,如 columnName1 与 columnName2 之间存在的关系。函数不返回任何值;函数仅可实现计算过程中的指示关系。

【如图:最初建立的是日期与订单日期之间的关系,这里我们按需将日期与成交日期建立虚拟关系】

语法:USERELATIONSHIP(<columnName1>,<columnName2>)
创建度量值:
①销售量 = SUM('销售数据表'[数量])
成交日期销售量 = CALCULATE([销售量],USERELATIONSHIP('销售数据表'[成交日期],'日历表'[日期]))②进货数量 = SUM('销售数据表'[进货数量])【进货数量默认的是订单日期建立关系,获取的是订单日期的进货量】

在建立了虚拟关系后,我们就可以计算出进货量与销售额的差值

Values函数:不重复值——表操作函数

当输入参数为列名时,返回包含指定列中非重复值的单列表。 重复值被删除,仅返回唯一值。 可添加 BLANK 值。 当输入参数是表名时,返回指定表中的行。 保留重复的行。 可添加 BLANK 行。

语法:VALUES(<TableNameOrColumnName>)  当在已筛选的上下文中使用 VALUES 函数时,VALUES 返回的唯一值将受到筛选器的影响。
例如,如果按“区域”进行筛选并返回“城市”值的列表,则该列表将只包括筛选器允许的区域中的那些城市。
若要返回所有城市,无论现有筛选器的设置如何,都必须使用 ALL 函数从表格中删除筛选器

Var/Return

VAR:将表达式的结果存储为命名变量,然后可以将其作为参数传递给其他度量值表达式。 为变量表达式计算结果值后,这些值不会更改,即使在其他表达式中引用该变量。

语法:VAR <name> = <expression>  将表达式的结果存储为命名变量,然后可以将其作为参数传递给其他度量值表达式。
为变量表达式计算结果值后,这些值不会更改,即使在其他表达式中引用该变量。
KPI标题 =
var d=SELECTEDVALUE('Dim_Area'[Area])
var e=SELECTEDVALUE('Dim_Entity'[Entity])
var p=SELECTEDVALUE('Dim_Product'[Product])
return
d&e&p&if(HASONEVALUE('KPI'[KPI]),
SELECTEDVALUE('KPI'[KPI],
"完成率"
)
&"报表分析")【理解:分别对d,e,p进行命名,最终返回return后的值】

Earlier函数:当前行

返回所述列的外部计算传递中指定列的当前值。

语法:EARLIER(<column>, <number>)  - 第一个参数是列名- 第二个参数一般可省略- EARLIER函数提取本行对应的该列的值,实际上就是提取本行和参数列交叉的单元格
下个订单日期= SUMX(FILTER('订单表','订单表'[序号]=EARLIER('订单表'[序号])+1),'订单表'[订单日期])
【这个公式的意思是,利用EARLIER获取当前行的序号,然后找到当前序号+1的那一行的订单日期】

补充:earlier补充

微软官方介绍:power BI DAX函数大全

power BI学习笔记-DAX函数相关推荐

  1. Power BI学习笔记

    Power BI学习笔记 友好建议 1.excel文件.xls,.xlsx导入到Power BI经常会出现错误,建议保存和导入.csv格式表格 2.如果表格已经加载进来,对表格进行修改后,直接点击刷新 ...

  2. Microsoft Power BI 学习笔记

    ​   Power Bi 学习笔记 一   Power BI 是微软发布的一系列的软件服务.应用和连接器,这些软件服务.应用和连接器协同工作,将不相关的数据源转化为合乎逻辑.视觉上逼真的交互式见解. ...

  3. 每日一学 | 2021-05-18 | Power BI 学习笔记00、01、02

    学习网址:孙兴华讲PowerBI火力全开版[本季完]PowerBI教程 Power BI教程 DAX语言 Access教程 Access数据库 Access_哔哩哔哩 (゜-゜)つロ 干杯~-bili ...

  4. 每日一学 | 2021-05-19 | Power BI 学习笔记03、04

    学习网址:孙兴华讲PowerBI火力全开版[本季完]PowerBI教程 Power BI教程 DAX语言 Access教程 Access数据库 Access_哔哩哔哩 (゜-゜)つロ 干杯~-bili ...

  5. Power BI 学习笔记(一)

    一.power BI简介 PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据. 三大特点 1. ...

  6. POWER BI学习之EARLIER()函数

    语法:EARLIER(<column>, <number>) 函数作用:返回提及的列的外部计算传递中指定列的当前值,能够定位每个当前的单元格. 应用场景:在想要使用某个值作为输 ...

  7. SQL Server 2008/2012中SQL应用系列及BI学习笔记系列--目录索引

    SQL Server 2008中的一些特性总结及BI学习笔记系列,欢迎与邀月交流. 3w@live.cn  ◆0.SQL应用系列 1.SQL Server 2008中SQL增强之一:Values新用途 ...

  8. MySQL学习笔记—自定义函数

    MySQL学习笔记-自定义函数 注释语法: MySQL服务器支持3种注释风格: 从'#'字符从行尾. 从'– '序列到行尾.请注意'– '(双破折号)注释风格要求第2个破折号后面至少跟一个空格符(例如 ...

  9. SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 @邀月

    邀月 的数据库学习 http://www.cnblogs.com/downmoon/archive/2011/03/10/1980172.html SQL Server 2008中SQL应用系列及BI ...

最新文章

  1. linux编译模块时怎么包含其他c文件夹,如何在导入符号出现在已编译的Linux内核模块中时,可选地使用它们?...
  2. android canves rotate 详解
  3. 【有美女看】提升用户体验,你不得不知道的事儿——巧用全屏与沉浸式体验,让用户更舒心~...
  4. html 占位文本,跨浏览器的HTML5占位文本(PlaceHolder)方案
  5. jquery之图片懒加载(总结)
  6. 10.1.3 标签分类与嵌套
  7. C++操作符的优先级 及其记忆方法
  8. 为什么程序员总是打扮成这样一幅鬼样子
  9. 2021年中国人力资源服务行业研究报告
  10. java 进程撤销_2020-08-12 如何优雅关闭java进程
  11. 完全使用linux工作 pdf下载,完全用Linux工作-计算机.pdf
  12. 读取图像到txt的程序
  13. 事后分析报告(M2阶段)
  14. ZYNQ PL开发流程
  15. iOS 整理iOS9适配中出现的坑
  16. [iOS 逆向 2] 越狱介绍
  17. 【LOJ6038】【雅礼集训 2017 Day5】远行(LCT,树的直径)
  18. Linux 返回根目录
  19. DragonBones骨骼动画制作软件
  20. C++版本OpenCv教程(十一)多通道分离与合并

热门文章

  1. 【100%通过率】华为OD机试真题 Python 实现【货币单位换算】【2022.11 Q4 新题】
  2. 软件测试:Lab 3 Jemter压力测试
  3. 精心整理的2019年一级建造师考试中期复习规划
  4. SI3933替换AS3933,唤醒RKE钥匙扣内部的CPU射频(RF)发射机 汽车PKE无钥匙操作方案
  5. Ubuntu 16.04出现 dpkg:处理软件包×××(--configure)时出错:解决办法
  6. 懒汉式与饿汉式的区别
  7. 只需5秒,快速完成电脑大文件复制的技巧
  8. 将当前项目目录下的所有“.txt“文件复制一份,复制文件的名字格式:原文件名“_cp.txt“.
  9. 移动web开发入门—基础知识、自适应布局、调试
  10. 计算机读不到u盘如何修复u盘,u盘读不出来怎么修复?你有没有尝试过这个办法...