表达式中的关键字

不同类型的表达式中可以包含很多不同的关键字。请参见下文了解相关说明。关键字不区分大小写。

选项 说明
AS

AS 关键字可用于在自定义表达式上下文中指定表达式的名称。

示例:

Sum([Sales]) as [Total Sales]

<[Region_Name] as [Region]>

CROSS

CROSS 关键字可用于分类自定义表达式,以指定在类别级别之间应执行交叉联接。这意味着,所有可能的类别组合都会显示,即使是那些当前不保存任何数据的类别。

示例:

<[A] CROSS [B]>

DISTINCT

DISTINCT 关键字可用于聚合表达式,以指定仅对不重复值计算聚合。

示例:

Avg(distinct [Column])

ELSE

case 语句中使用了 ELSE 来定义不满足条件时执行的操作。

case 语句具有两种不同的形式。

简单:

case Arg1 when Arg2 then Arg3 else Arg4 end

将对 Arg1 表达式求值,当 Arg1 等于 Arg2 时,将返回 Arg3

可以输入多个 when/then 表达式,并以从左到右的顺序进行输入及求值。

已搜索:

case when Arg1 then Arg2 else Arg3 end

Arg1=true 时返回 Arg2,当 Arg1=false 时返回 Arg3

可以输入多个 when/then 表达式,并以从左到右的顺序进行输入及求值。

示例:

Case when 1 < 2 then "a" when 1 < 3 then "b" else "c" end

Case [Column] when 3 then "a" when 2 then "b" else "c" end

END

case 语句中使用 END 来表示语句结束。

case 语句的示例请参见 ELSE

FALSE

FALSE 是可用于逻辑表达式的布尔常数。

示例:

false

IS

IS 是一个关键字,可用于检查表达式是否为空。

示例:

[Column] Is Not Null

Avg([Column]) Is Null

NEST

NEST 关键字可用于分类自定义表达式,以指定类别级别应进行嵌套。这意味着,只有那些实际保存数据的值的组合会显示。

示例:

<[A] nest [B]>

NULL

NULL 是一个关键字,可用于指定 null(空)值,或者,也可以是 'Is Not Null”或“Is Null”运算符的一部分。

示例:

null

[Column] Is Not Null

OVER

OVER 是一个关键字,可在聚合后使用,以指定应通过另一个窗口而非默认窗口计算聚合。OVER 关键字总是与 OVER 函数一起使用,该函数根据引用层级中的节点指定数据分组方式。

示例:

Sum([Sales]) OVER (AllPrevious([Axis.X]))

THEN

THEN 关键字可用于两种不同的上下文:如果它是 CASE 表达式的一部分,它只是确定满足条件时会发生什么。THEN 也可用于计算聚合后表达式(用连续轴上的表达式表示)。

在聚合后上下文中,THEN 关键字之后的表达式部分将在聚合数据之上进行计算,同时指定聚合值使用 [Value] 名称。

示例:

CASE WHEN 1 < 2 THEN "a" WHEN 1 < 3 THEN "b" ELSE "c" end

Sum([Sales]) THEN Sum([Value]) OVER (AllPrevious([Axis.X]))

TRUE

TRUE 是可用于逻辑表达式的布尔常数。

示例:

true

WHEN

case 语句中使用了 WHEN 来定义满足条件时执行的操作。

case 语句的示例请参见 ELSE

另请参见函数