修改 CALCULATE 或 CALCULATETABLE 筛选器的默认行为。
语法
KEEPFILTERS ( <表达式> )
参数 | 属性 | 描述 |
表达式 | 任何表达式 |
返回值
不返回任何值。
KEEPFILTERS 修改 CALCULATE 将筛选器参数应用于筛选上下文的方式。它不会覆盖同一列上的现有筛选器,而是将新筛选器追加到现有筛选器中。
备注
默认情况下,CALCULATE 的筛选器参数会替换同一列上的所有现有筛选器。 但你可以使用 KEEPFILTERS 函数修改此行为。 使用 KEEPFILTERS 时,当前上下文中的任何现有筛选器都将与筛选器参数中的列进行比较,并将两者的交集用作计算表达式的上下文。最终, 上下文中任何一列保留的值都需要同时满足这两组筛选器:CALCULATE 中使用的筛选器参数和 KEEPFILTER 函数的参数中的筛选器。 换言之,尽管 CALCULATE 筛选器替换了当前上下文,但 KEEPFILTERS 将筛选器添加到了当前上下文。
示例
如果你只想在外部筛选上下文为 Audio 的行显示 Audio 销售额,否则显示空白值,可以定义以下度量值:
Audio Sales KeepFilters := CALCULATE ( [Sales Amount], KEEPFILTERS ( 'Product'[Category] = "Audio" ) )
扩展阅读:
- MSDN 文档:KEEPFILTERS
- DAX Guide:KEEPFILTERS
说点什么