Power Pivot 针对表筛选的函数及差异

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Power Pivot 针对表筛选的函数及差异
1. Filter, KeepFilters
KeepFilters的用法与Filter类似,只不过需要配套Calculate或者CalculateTable函数使用。
函数名称
Fi构
Filter( Table, FilterExpression ) KeepFilters ( Expression )
Values(TableNameOrColumnName) Distinct(ColumnNameOrTableExpress) Filters(ColumnName)
返回结果 无对应上的也会显示 无对应上的不会显示 无对应上的也会显示
引用表 不会删除重复 会删除重复
这3个函数的参数都是可以直接引用列名。但是除了Filters只能引用列名,而其他2个函数既可以引用列名也可以引用整张表。
案例:
相同性: 不同函数及参数进行筛选后的返回结果。
Filters('表2'[姓名]) Values('表2'[姓名]) Distinct('表2'[姓名])
针对姓名列这3个函数返回的结果都是一样的。返回含空值后的唯一值列表。 Filters('表2'[成绩]) Values('表2'[成绩]) Distinct('表2'[成绩])
KeepFilters('表1'[姓名]="张三"))
我们可以看到,Filter和KeepFilters至在[姓名]=”张三”的时候返回,这两种返回的结果都一样,只不过在语法上的写法不同。
2. Values, Distinct, Filters
函数名称
Values Distinct Filters
语法结构
效率 一般
比Filter快10%
案例: 要求:计算张三的总成绩。
张三成绩cal:=Calculate(Sum([成绩]),'表1'[姓名]="张三") 张三成绩Filter:=Calculate(Sum('表1'[成绩]),
Filter('表1','表1'[姓名]="张三")) 张三成绩KeepFilters:=Calculate(Sum([成绩]),
针对成绩列这3个函数返回的结果也是一样的。但是此时需要注意的是,这3个函数在取唯一值的时候结果会进行排序。
差异性:
i. 返回表的差异 Distinct会删除重复项,Values则不会
Distinct('表2'[姓名]) Values('表2'[姓名])
Distinct把颜色行的第一行删除了,因为这行和第一行完全重复,所以被删除了。而Values则还是完全保留。 ii. 对应值的差异 Distinct不会显示未匹配的数据,而Values则会把为匹配上的单独作为空白维度显示。
我们可以看到,通过Distinct筛选的结果如果未找到对应的数据则会直接显示空白,在筛选的时候会直接去除;而通过Values和 Filters筛选的结果如果未找到对应的数据则会专门在标签里面显示一个空白字段来显示数据。
首先把这两个表的学科字段进行关联
因为分类的维度只对应2门学科,英语未对应的学科 学科成绩values:=Calculate(Sum('表2'[成绩]),Values('表3'[学科])) 学科成绩distinct:=Calculate(Sum('表2'[成绩]),Distinct('表3'[学科])) 学科成绩filters:=Calculate(Sum('表2'[成绩]),Filters('表3'[学科]))
相关文档
最新文档