简体中文版的PowerBI官网:https://powerbi.microsoft.com/zh-cn/
在Analysis Services、Power BI 以及 Excel 中的 Power Pivot中使用的公式表达语言叫做数据分析表达式(DAX)语言
本篇文章介绍一些常见的函数用法,sum(求和)、countrows(统计行数)、average(求平均值)、lookupvalue(匹配)、related多对一匹配、relatedtable一对多匹配等,简化数据分析步骤提升效率
文章中的数据来源下载:https://download.csdn.net/download/weixin_44435602/16074087
1、关系函数
1.1、求单一品相的销量:calculate计算由指定筛选器修改的上下文中的表达式
1.1.1、单条件使用
如果我只想求酥梨罐头的销量,该怎么办呢?
格式:calculate(表达式/度量值,'表'[列]=条件)
展示结果:
1.1.2、多条件使用:in
求除了酥梨罐头以外,其他的三个品相的销量
格式:calculate(表达式/度量值,'表'[列] in {条件1,条件2,....})
1.1.3、多条件反向使用:not....in
求除去其他的三个品相以外,酥梨罐头的销量
格式:calculate(表达式/度量值,not '表'[列] in {条件1,条件2,....})
展示结果:
1.2、求单一品相的销售明细表:calculatetable
格式:calculatetable('表','表'[列名]=条件)
新建表,单独把酥梨罐头的销售明细表取出来
2、高级筛选器filter
求酥梨罐头订单数
酥梨罐头订单数 = COUNTROWS(FILTER('销售表','销售表'[商品编码]="A03"))
展示结果:
calculate和filter效果是相同的
1店酥梨罐头销量 = calculate([总销量],'销售表'[商品编码] = "A03",'销售表'[店号] = "1")
1店酥梨罐头filter销量 = calculate([总销量],filter('销售表','销售表'[商品编码] = "A03" && '销售表'[店号] = "1"))
从以上可以看出,calculate更加简洁,那么什么时候去使用filter呢?
在calculate函数汇总直接筛选条件里,只有满足:
'表'[列] = 固定值 '表'[列] <> 固定值
'表'[列] >= 固定值 '表'[列] <= 固定值
'表'[列] > 固定值 '表'[列] < 固定值
但是遇到以下情况,必须使用filter函数
[列] = [度量值] [列] = [公式] [列] = [列]
[度量值] = [度量值] [度量值] =[公式] [度量值] = 固定值
求门店酥梨罐头销量大于6000有哪些?
首先,求出总销量 = SUM('销售表'[销售数量])
然后,求酥梨罐头销量 = CALCULATE([总销量],'销售表'[商品编码]="A03")
最后,求出大于6000的filter销量 =CALCULATE([酥梨罐头销量],FILTER([酥梨罐头销量]>6000))