TIBCO Cloud™ Spotfire® Business Author 用户指南

表达式语言详细信息

了解表达式语言的工作原理后,创建有效的表达式就会变得更加简单。本主题会尝试说明该语言的一些基本功能。

如果列名称中包含字母、数字或“_”(下划线)之外的字符,那么这些字符必须包含在“[”和“]”字符(方括号)中。当列名称与函数名称相同,或者列名称以数字开头时,也需要使用方括号。

如果您在表达式的周围应用 <>,便会将它视作分类形式。

多个列通常用逗号分隔。

您可以使用 AS 关键字指定表达式的新名称,同时隐藏其基础表达式。有关示例,请参见下文。请注意,如果轴表达式包含冒号,便无法重命名整个轴,但是您可以为表达式的每一个部分定义一个名称。

常量可以始终用作参数,即便在函数说明表示参数必须为列的情况下。

有关可用运算符和函数的完整说明,另请参阅运算符函数

如果创建的表达式比较复杂,需要解释,可以在表达式中添加注释。用“//”来指定符号后面的文本是注释。

例如:

Avg([Sales]) OVER Intersect([Cat], AllPrevious([Year]))
//Shows the average sales per category for all years, up until the current year.

请注意,如果在图表轴上为表达式添加注释, 则需要继续使用自定义表达式对话框进行所有 进一步的编辑。这是因为拖放操作对表达式的影响太大, 重新排列太多,无法保留注释。

表达式的示例:

[Column1]

[Column1], [Column2]

[Column1]/([Column1]+[Column2]) AS Quota

[Column1] AS [My first column], [Column2] AS [My second column]

<[Category column 1]>

<[Category column 1] nest [Category column 2]>

39+12*3

-(1-2)

cast (power(2,2) as integer)

case [Column1] when 10 then 'ten' else 'not ten' end

case when Column1 is not null then Column1 else Column2 end

[Sales]/1000 //The sales figure has been divided by a thousand to show values in kkr instead of SEK