ALLEXCEPT
删除已应用于指定列的表 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