天天看点

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

简体中文版的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

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter
PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

1、关系函数

1.1、求单一品相的销量:calculate计算由指定筛选器修改的上下文中的表达式

1.1.1、单条件使用

如果我只想求酥梨罐头的销量,该怎么办呢?

格式:calculate(表达式/度量值,'表'[列]=条件)

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

展示结果:

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

1.1.2、多条件使用:in

求除了酥梨罐头以外,其他的三个品相的销量

格式:calculate(表达式/度量值,'表'[列] in {条件1,条件2,....})

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter
PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

1.1.3、多条件反向使用:not....in

求除去其他的三个品相以外,酥梨罐头的销量

格式:calculate(表达式/度量值,not '表'[列] in {条件1,条件2,....})

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

展示结果:

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

1.2、求单一品相的销售明细表:calculatetable

格式:calculatetable('表','表'[列名]=条件)

新建表,单独把酥梨罐头的销售明细表取出来

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

2、高级筛选器filter

求酥梨罐头订单数

酥梨罐头订单数 = COUNTROWS(FILTER('销售表','销售表'[商品编码]="A03"))

展示结果:

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter

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))

PowerBI基础——第二天 最强大的引擎calculate、筛选表calculatetable、高级筛选器filter1、关系函数2、高级筛选器filter