高级筛选器Filter与Values人工造表
返回一个表,用于表示另一个表或表达式的子集,不能单独使用Filter函数对筛选表进行横向的逐行扫描,这样的函数叫迭代函数
Filter(表,筛选条件),返回值是一张表,一般可以嵌套使用,
比如计算表中满足某个条件的数据有多少行:Countrows(Filter(表,筛选条件))
跟calculate区别:
Calculate(表达式(度量值),筛选条件1,筛选条件2…) Calculate(表达式(度量值),Filter(‘表’, 筛选条件))
二者效果相同为什么使用Filter函数?
简单的筛选条件筛选直接使用calculate即可 ‘表’[列] = 固定值 或 ‘表’[列] <> 固定值 ‘表’[列] >= 固定值 或 ‘表’[列] <= 固定值 ‘表’[列] > 固定值 或 ‘表’[列] < 固定值
要是遇到如下情况,就要使用Filter函数:
[列] = [度量值]、[列] = 公式、[列] = [列]、[度量值] = [度量值]、[度量值] = 公式、[度量值] = 固定值
举例:总分大于250分的学生的总分
filter总分1 = CALCULATE([总分],FILTER('花名册'[总分]>250))
filter总分2 = CALCULATE([总分],FILTER('成绩表'[总分]>250)),第二种表达式错误的,
因为Filter参数里的表必须