表达式使用
Analytics 表达式是执行计算并返回结果的值和运算符的组合。
表达式是一种宝贵和灵活的工具。您可以使用它们来:
- 执行广泛的计算
- 创建过滤器
- 为分析准备数据
- 创建计算域
表达式的内容
表达式可以包括数据域、函数、文字、常量和变量,可以结合用于算术或逻辑运算符。
您可以手动输入表达式,或者您也可以使用表达式生成器创建表达式,后者提供一种在整个 Analytics 中创建表达式的标准工具。
表达式的复杂性
表达式可以根据需要变得简单或复杂。
简单表达式可以返回基本算术运算的结果。
例如:
Quantity * Cost
一个更复杂的表达可能会引用一些域和函数,并使用运算符组合表达式的组成部分。
例如:
PROPER(名字) + " " + PROPER(姓氏)
将名字和 姓氏域中的所有名称转换为适当的大小写形式(首字母大写,后面跟小写字母),并用其间的单个空格连接名字和姓氏。
表达式类型
Analytics 支持四个类型的表达式,分别对应于四个受支持的数据类别,即数据类型:
- 字符
- 数值
- 日期时间
- 逻辑
例如:
- 金额 + 1 是一个数值表达式,因为它对数字执行运算并返回数值结果。
- 金额 > 1 是一个逻辑表达式,因为它进行比较并返回逻辑结果“真”或“假”。
您创建的任何表达式的内容必须与表达式类型相对应:
| 表达式类型 | 所需的内容 | 示例 |
|---|---|---|
| 字符 | 包含下列任一内容:
|
从产品代码中提取数字并丢弃三字符前缀:
|
| 数值 | 包含下列任一内容:
|
计算含税销售价格:
寻找三个域中的最大值:
|
| 日期时间 | 包含下列任一内容:
日期时间数据类型包括三个子类型:日期、日期时间和时间。 带引号的日期时间值需要使用反引号 - 例如,`20141231` 或 `20141231.235959`。反引号(')是键盘左上角的小写键。 |
计算两个日期之间经过的天数:
计算两个时间域中的值之间经过的时间:
|
| 逻辑 | 包含下列任一内容:
如果 T 或 F 是表达式的一部分,则输入时必须不带引号。 说明 逻辑表达式可以引用任何数据类型的域、变量或字面量。 |
查找其付款日期已过到期日期的所有记录:
按三个城市过滤表中的记录:
|
Analytics 对表达式求值的方法
Analytics 按照下列规则对表达式求值:
| 运算符优先级 | 算术和逻辑优先级指定对运算符进行求值的顺序。请参见Analytics 表达式中的运算符。 请使用括号 ( ) 修改运算符的求值顺序。 |
|---|---|
| 运算数数据类型 | 只有当运算数具有兼容数据类型时,每个运算符才能正常工作。 |
| 函数括号 | 所有 Analytics 函数都需要括号。首先对函数括号内的一切内容进行求值,然后对表达式的任何其他位于函数括号外部的部分求值。 |
| 比较字符串 | 默认情况下,比较两个不同长度的字符串时,使用较短的长度。 如果在 选项对话框的表选项卡中选择了精确字符比较 选项,则使用两者中较长的一个。 要了解更多信息,请参考“表”选项卡(“选项”对话框)。 |
| 小数精度 |
如果在数值表达式中混用了具有不同小数精度的数字,则结果会保留具有最大小数位数的运算数的小数位数。(使用 SET MATH 命令可以更改此默认行为。) 例如:
要了解更多信息,请参考控制数值表达式中的取整和小数精度。 |
Analytics 表达式中的运算符
下表列出了在创建表达式时可供使用的运算符。
这些运算符按照优先级的降序列出。当具有相等优先级的运算符出现在一个表达式中时,将从左到右评估它们 – 除非您使用圆括号指定特定评估顺序。
|
运算符(按优先级顺序) |
描述 |
|---|---|
|
( ) |
圆括号 – 指定运算符优先顺序,或者将函数参数围起来 |
|
NOT - |
逻辑非 一元减号 – 减号,表示负数 |
|
^ |
幂 – 将数字提升为幂 |
|
* / 运算符具有相等优先级并且按照从左到右的顺序计算 |
乘 除 |
|
+ - 运算符具有相等优先级并且按照从左到右的顺序计算 |
添加 减法 |
|
+ |
连接字符串 |
|
> < = >= <= <> 运算符具有相等优先级并且按照从左到右的顺序计算 说明 包含两个符号的运算符不得包含空格。例如,请键入 >= 而非 > = 。 |
大于 小于 等于 大于或等于 小于或等于 不等于 |
|
AND(或 &) |
逻辑与 |
|
OR(或 |) |
逻辑或 |