4. 高级筛选器 filter
1. filter 含义及公式
- filter函数对帅选的表进行横向的逐行扫描,这样的函数叫迭代函数
- filter(表名,条件)
filter总分1 = CALCULATE([总分],filter('花名册',[总分]>250))
filter总分2 = CALCULATE([总分],filter('成绩表',[总分]>250))
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/259cd8327338418c926410e4b87b4f43.png)
2. 什么时候使用filter?
列 | 条件值 |
---|
“表”[列] = | 固定值 |
“表”[列]>= | 固定值 |
“表”[列] > | 固定值 |
“表”[列] < | 固定值 |
“表”[列] <= | 固定值 |
- filter函数条件筛选
列 | 条件值 |
---|
[列] = | [度量值] |
[列] = | 公式 |
[列] = | [列] |
[度量值] = | [度量值] |
[度量值] = | 公式 |
[度量值] = | 固定值 |
3. calculate+filter
- calculate(表达式(度量值),filter(表名,条件))
总分 = sum('成绩表'[分数])
1班男生a = calculate([总分],'花名册'[班级]="1班",'花名册'[性别]="男")
1班男生b = calculate([总分],filter('花名册','花名册'[班级]="1班" &&'花名册'[性别]="男"))
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ed8d29bd3cd0432da92ae47392eac11d.png)
4. filter 新建表
测试表 = filter('花名册','花名册'[班级]="1班" &&'花名册'[性别]="男")
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/02a4338841754c988dce1ff95348a6de.png)
5. filter 创建唯一表条件
filter总分1 = CALCULATE([总分],filter('花名册',[总分]>250))
filter总分2 = CALCULATE([总分],filter('成绩表',[总分]>250))
filter总分3 = CALCULATE([总分],filter(values('花名册'[学号]),[总分]>250))
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/935b91abffe249c9b5f2487ccb2e254a.png)
6. filter与度量上下文
- 注意:
- 度量上下文需要创建度量值
- 临时创建的没有上下文筛选功能,如:um(‘成绩表’[分数])
- 解决方式,嵌套一个calculate()即可
filter总分1 = CALCULATE([总分],filter('花名册',[总分]>250))
filter总分4 = CALCULATE([总分],filter('花名册',sum('成绩表'[分数])>250))
filter总分5 = CALCULATE([总分],filter('花名册',CALCULATE(sum('成绩表'[分数]))>250))
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/8ad07724974c453bbfb31e378940f4b3.png)