删除表中所有筛选器,已应用于指定列的筛选器除外。
语法- ALLEXCEPT ( <表名>, <列名>, [ <列名>, … ] )
复制代码
返回值
表 完整的表或具有一列或多列的表
备注
当作为 CALCULATE 或 CALCULATETABLE 的调节器使用时,ALLEXCEPT 从第一个参数指定的扩展表中删除筛选器,只保留后续参数指定的列中的筛选器。
当作为表函数使用时,ALLEXCEPT 从第一参数中排除后续参数指定的列,返回表中剩余所有列的唯一组合。在这种情况下,结果只考虑当前表的列,忽略扩展表。
示例
例如,有一个有四列(a,b,x,y)的表 T,下面两个表表达式是等价的。
- FILTER (
- ALLEXCEPT ( T, T[a], T[b] ), // 返回只有 T[x] 和 T[y] 列的表
- )
-
- ---- 等价于下面的表达式 ----
- FILTER (
- ALL ( T[x], T[y] ), // 返回只有 T[x] 和 T[y] 列的表
- )
复制代码
不过,ALLEXCEPT 通常用作 CALCULATE 调节器,很少用作表函数。以下公式从 Sales 表的扩展表中删除所有筛选器,只保留日期表和 Customer[City]列的筛选。
- CALCULATE (
- <exp>,
- ALLEXCEPT ( Sales, 'Date', Customer[City] )
- )
复制代码
|