一、SUMMARIZE 函数

①.提取维度
新建表1=SUMMARIZE(‘订单’,‘订单’[产品名称])

SUMMARIZE函数的第一个参数是,第二个参数是列时,会返回该列的不重复列表,其功能与VALUES相似。

不过SUMMARIZE函数还可以继续添加第三个、第四个参数列…,看以下表达式的返回结果。
新建表2=SUMMARIZE(‘订单’,‘订单’[产品名称], ‘日期表’[年度])

SUMMARIZE参数表后面跟多个列时,它会返回这些列的有效组合,类似于笛卡尔积,与笛卡尔积稍微不同的是,如果在订单表中不存在这个组合,则返回的列表中,就不会出现这一行。
举个例子,假如2016年如果没有卖过智能手表,则上述的表达式不会有2016 智能手表这一行。

②返回汇总表
在上述表达式的基础上,我们继续添加参数如下:
汇总表1 =SUMMARIZE(‘订单’,‘日期表’[年度],‘订单’[产品名称],“销售额合计”,SUM(‘订单’[销售额]))

SUMMARIZE参数后面带上列名和表达式时,它会自动计算并返回分组的汇总表,这才是该函数的本质功能,也切合它的字面意义。
这个功能非常好用,也是我们使用它最普遍的地方。

③返回带合计的汇总表
这是SUMMARIZE的高级功能,在上面的表达式中的分组列外面套一层ROLLUP,看看是什么效果?
汇总表2 =SUMMARIZE(‘订单’,ROLLUP(‘日期表’[年度],‘订单’[产品名称]),“销售额合计”,SUM(‘订单’[销售额]))

看到在汇总表的下面还多了几行合计数,这就是ROLLUP参数的作用。它只在SUMMARIZE内部使用,用于为子类别计算小计和总计。

SUMMARIZE内部还可以使用一个参数是ROLLUPGROUP,使用ROLLUPGROUP代替上面表达式中的ROLLUP,可以返回相同的结果
不过如果在上面表达式ROLLUP里面再套一层ROLLUPGROUP。
汇总表3 =SUMMARIZE(‘订单’,ROLLUP(ROLLUPGROUP(‘日期表’[年度],‘订单’[产品名称])),“销售额合计”,SUM(‘订单’[销售额]))

分组的小计不见了,只返回总计, ROLLUP和ROLLUPGROUP组合可以避免出现小计,而只返回总计。这样使汇总表看起来更像是Excel中的透视表。

二、COUNTAX 函数

对沿着表的每一行计算的表达式所产生的值进行计数。
语法:COUNTAX ( <表>, <表达式> )
示例:COUNTAX(FILTER(‘Reseller’,‘Reseller’[Status]=“Active”),‘Reseller’[Phone])
以上公式表示,‘Reseller’[Status] = Active 筛选经销商表所生成的表,计算 Phone 列中的非空白行数。

三、CALCULATE函数

语法:CALCULATE(< expression>,< filter1>,< filter2>…)
第一个参数是计算表达式,可以执行各种聚合运算。

从第二个参数开始,是一系列筛选条件,可以为空;如果多个筛选条件,用逗号分隔。

所有筛选条件的交集形成最终的筛选数据集合。

根据筛选出的数据集合执行第一个参数的聚合运算并返回运算结果。

CALCULATE的计算逻辑是:通过从第二个参数开始的筛选条件,得到一个数据集合,并利用第一个参数执行聚合运算,即提取有用数据并执行聚合运算。

四、DATEADD函数

DATEADD
释义:返回一个表,此表包含一列日期,日期从当前上下文中的日期开始按指定的间隔数向未来推移或者向过去推移
语法:DATEADD(日期,间隔数,间隔时间粒度)
参数:
第一参数:日期列
第二参数:间隔数,整数
第三参数:日期偏移的间隔,year/quarter/month/day
示例:计算当前上下文中的日期之前一年的日期
注意事项:当数据表中最新日期为非完整月时,如选择非完整月的全部数据,按年推移则会对比去年的同期的完整月

例如:最新日期为2020/6/15,则当日期筛选器选择2002/6/1~2020/6/15时,系统认为选择的为2020年6月的完整月,按年推移,则会对比去年2019年6月的完整月,而非去年的相同时间段。
DATEADD(DateTime[DateKey],-1,year)

五、DISTINCTCOUNT函数

作用:对列中的非重复值数目进行计数。
语法:DISTINCTCOUNT ( <列名> )
备注:
① DISTINCTCOUNT 使用物理表中的列作为参数,你可以使用包含任何类型数据的列。如果函数没有发现需要计数的行,则返回空。
② DISTINCTCOUNT 函数包括空值。 要跳过空值,请使用 DISTINCTCOUNTNOBLANK 函数。
示例:
DISTINCTCOUNT(ResellerSales[SalesOrderNumber])

power BI 的函数相关推荐

  1. Power BI——DAX函数(数据分析表达式)

    一.概念: DAX 是英文 Data Analysis Expression 的缩写,DAX 公式是用作数据分析的,DAX的主要功能正是查询和运算,DAX 查询函数负责筛选出有用的数据集合,然后利用 ...

  2. Power BI之函数

    DAX:分析表达式 目的:数据导入后的分析.创建度量值/新建列,对已经导入到Power BI中的数据进行提取,加工,筛选,整理等. DAX实际上是对数据在M语言处理过的基础上进行近一步加工.可以理解为 ...

  3. POWER BI:DAX函数简介(转自微软官方)

    什么是 DAX? DAX 是公式或表达式中可用来计算并返回一个或多个值的函数.运算符和常量的集合.简而言之,DAX 可帮助您通过模型中已有的数据创建新信息. 为何 DAX 如此重要? 创建工作簿并向其 ...

  4. Power BI——EARLIER 函数(对行操作)

    一.概念: 对指定行进行上下文操作 ,比如分析数据的每一行.提取某一行的数据. 二.语法: 说明: 1.第一个参数是列名 2.第二个参数一般可省略 3.EARLIER 函数提取本行对应的该列的值,实际 ...

  5. Power BI DAX函数学习:YEARFRAC

    DAX中你可能没有注意到的一个函数:YEARFRAC,用于返回精确的年度差异,具体语法和用法如下: YEARFRAC 你也许经常用DATEDIFF,但DATEDIFF只能返回大概的差异,而这个函数会精 ...

  6. Power BI——CALCULATE函数(对列操作)

    一.语法结构: 1.语法: 其中: 1)第一个参数是计算表达式,可以执行各种聚合运算 2)从第二个参数开始,是一系列筛选条件,可以为空:如果多个筛选条件,用逗号分隔 3)所有筛选条件的交集形成最终的筛 ...

  7. Power BI——CALCULATE函数

    1.定义: 在筛选器参数修改过的上下文中对表达式进行求值 2.语法: CALCULATE( 计算器, 筛选器) *说明: 1.计算器:就是度量值 2.筛选器:'表' [列] = 满足什么条件 3.注意 ...

  8. Power BI DAX函数学习:EARLIER

    DAX中很常用也非常有用的函数:EARLIER,用于返回当前行上下文的值,具体用法如下: 在新建列时,这个函数很好用,但不适合于度量值,如果你使用这个函数出错了,很可能你把它用在了度量值的代码中. 来 ...

  9. Power BI DAX函数学习:DATEVALUE

    DAX中你可能没有注意到的一个函数:DATEVALUE,用于转化日期格式,具体语法和用法如下: DATEVALUE 这个函数不常用,但需要用的时候,你没有必要先拆分字符再用年.月.日的组合来转化为日期 ...

最新文章

  1. Java NIO之Channel(通道)
  2. 基于词典的逆向最大匹配中文分词算法,更好实现中英文数字混合分词
  3. 这三种策略可以帮助女性在科技领域蓬勃发展
  4. Centos7 安装Mysql5.7
  5. java隋唐演义游戏下载_JAVA多线程
  6. 云原生数据库崛起,阿里云POLARDB当选世界互联网领先科技成果
  7. MooTools教程(2):DOM选择器
  8. pcl求平面法向量_PCL1.8.1 点的法向量
  9. JBoss企业级应用服务平台群集指南(一)
  10. 算法-递归求1-n的阶乘
  11. 什么是 DevSecOps?系列(一)
  12. 计算机键盘电容传感器,电容式触摸感应按键的实现之硬件篇
  13. iOS打包ipa无签名打包企业签
  14. 软件工程阶段性总结(二)——软件计划和需求分析
  15. 微信小程序开发报错及解决记录
  16. ubuntu桌面便签_在Deepin 20、Ubuntu 20.04中安装便签小工具Stickynotes
  17. pe中怎么卸载服务器系统更新,如何卸载win7系统更新用pe装win7
  18. IDEA server乱码
  19. win7下maven配置+intell IDEA中多maven(导入、配置)运行综合
  20. htmlparser 获取html,根据htmlparser写的一个提取页面纯文本的C#程序

热门文章

  1. PHP判断QQ是否在线代码。
  2. 洛谷-1983 车站分级
  3. 为什么选择使用 react 框架来做项目?
  4. 【张朝阳的物理课笔记】 7. 气体的内能,能量均分原理,量子物理的曙光
  5. 把玩爬虫框架Gecco
  6. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996(示例代码)
  7. VS2022错误码c4996
  8. 进击的 AI 生成,创造性的新世界!
  9. 阿里云备案成功的域名能用腾讯云的服务器吗?
  10. Springboot使用DelayQueue实现订单自动取消