跳转至

IsFiltered

功能概述

IsFiltered 用于判断某个维度是否在 当前查询计算环境的维度集合 (dimensions) 中被使用。
它通常用于复合指标逻辑,根据维度是否参与查询,选择不同的计算路径。

注意

IsFiltered 函数 仅能在复合指标定义中使用,不能单独作为指标。

语法

IsFiltered([维度名称])

参数说明

参数名称 是否必需 参数类型 说明
维度名称 维度 检查该维度是否出现在当前查询的 dimensions

返回值说明

  • TRUE:指定维度在当前查询的 dimensions 中存在。

  • FALSE:指定维度未出现在当前查询的 dimensions 中。


使用示例

数据模型

Sales 表包含以下字段:

  • Sales[Region]

  • Sales[Product]

  • Sales[SalesAmount]


基础指标

SalesAmountSum = SUM([Sales/SalesAmount])
SalesAmountMax = MAX([Sales/SalesAmount])

复合指标

RegionFilter =
    IF(
        IsFiltered([Region]),
        [SalesAmountSum],
        [SalesAmountMax]
    )

查询场景对比

场景一:Region 在查询的 dimensions 中

例如:dimensions = [Region, Product]

  • IsFiltered([Region]) = TRUE

  • 计算逻辑走 [SalesAmountSum]

结果:全国总销售额

RegionFilter
1250

场景二:Region 未出现在查询的 dimensions 中

例如:dimensions = [Product]

  • IsFiltered([Region]) = FALSE

  • 计算逻辑走 [SalesAmountMax]

结果:各地区最大销售额

Region RegionFilter
East 200
West 200
North 300
South 250