IsFiltered
功能概述
IsFiltered 用于判断某个维度是否在 当前查询计算环境的维度集合 (dimensions) 中被使用。
它通常用于复合指标逻辑,根据维度是否参与查询,选择不同的计算路径。
注意
IsFiltered 函数 仅能在复合指标定义中使用,不能单独作为指标。
语法
参数说明
| 参数名称 | 是否必需 | 参数类型 | 说明 |
|---|---|---|---|
| 维度名称 | 是 | 维度 | 检查该维度是否出现在当前查询的 dimensions 中 |
返回值说明
-
TRUE:指定维度在当前查询的dimensions中存在。 -
FALSE:指定维度未出现在当前查询的dimensions中。
使用示例
数据模型
Sales 表包含以下字段:
-
Sales[Region] -
Sales[Product] -
Sales[SalesAmount]
基础指标
复合指标
查询场景对比
场景一: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 |