ALLEXCEPT

适用于:计算列计算表Measure视觉计算

删除已应用于指定列的表 allfilters 中的 except 上下文 filters。

语法

ALLEXCEPT(<table>,<column>[,<column>[,…]])

参数

术语 定义
table 删除 all 上下文 filters 的表,exceptfilters 后续参数中指定的列。
column 必须保留上下文 filters 的列。

first 函数的 ALLEXCEPT 参数必须是对基表的引用。 All 后续参数必须是对基列的引用。 不能将表表达式 or 列表达式与 ALLEXCEPT 函数一起使用。

返回 value

all filters 删除了指定列上 exceptfilters 的表。

言论

  • 此函数本身 not 使用,但用作中间函数,可用于更改执行其他计算的结果集。

  • ALL and ALLEXCEPT 可用于不同的方案:

    函数 and 用法 描述
    ALL(表) 从指定表中删除 allfilters。 在 effect中,ALL(Table)返回表中 all 的 values,从上下文中删除任何 filters,否则可能已应用。 在处理许多级别的分组时,此函数非常有用,and 希望创建计算,以创建聚合 value 与总 value的比率。
    ALL (Column[, Column[, ...]]) 从表中的指定列中删除 allfilters;all 表中其他列的其他 filters 仍适用。 All 列参数必须来自同一个表。 如果要删除一个 ALL 更具体的列的上下文 filters,or 保留 and 其他上下文 all,filters(列)变体非常有用。
    ALLEXCEPT(表, Column1 [,Column2]...) 删除应用于指定列的表 allfilters 中的 except 上下文 filters。 这是一种方便的快捷方式,用于删除表中的 filters,但 notall列。
  • 在计算列 not 行级别安全性 (RLS) 规则中使用时,or 支持在 DirectQuery 模式下使用此函数。

以下 measure 公式求和SalesAmount_USD and使用 ALLEXCEPT 函数删除 DateTime 表上的任何上下文 filters,exceptiffilter 已应用于 CalendarYear 列。

= CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))

由于公式使用 ALLEXCEPT,因此每当表 DateTime 中除 CalendarYear 外的任何列用于对可视化效果进行切片时,公式都将删除任何切片器 filters,从而提供与SalesAmount_USD value 相等的 sum。 但是,if CalendarYear 列用于切片可视化效果,结果会有所不同。 由于 CalendarYear 被指定为 ALLEXCEPT的参数,因此当数据在 year上切片时,将在行级别对年份应用 filter

Filter 函数ALL 函数FILTER 函数