比较文本数据
当您处理文本时,经常会对值进行相互比较。因为比较操作区分大小写,所以用各种大小写格式存储的文本可能给比较操作带来困难。Analytics 提供了相应的函数,通过将您要比较的文本转换为规范化的大小写格式使比较操作变得更加可靠。
文本比较运算符
在 Analytics 中编写脚本时,您可以使用两个运算符来比较文本值:
- 相等运算符 (=) 在以下情况下为真:相等运算符左侧的值与右侧的值完全相同
- 不相等运算符 (<>) 在以下情况下为真:不相等运算符左侧的值与右侧的值不完全相同
这两个运算符都区分大小写并且比较两个值:valueOne <> valueTwo。
使用文本比较操作过滤表
您正在处理下表,并且您需要过滤它以便只显示财务部的记录:
| 部门 | Max_Hourly | Min_Hourly | 位置 |
|---|---|---|---|
| Executive | 205.13 | 166.67 | CEO 和董事长 |
| Executive | 141.03 | 89.74 | 财务副总裁 |
| Finance | 24.62 | 20.51 | 会计 |
| finance | 23.08 | 17.95 | 现金支付职员 |
| finance | 18.46 | 14.67 | 应付账款职员 |
| Finance | 18.46 | 14.67 | 采购职员 |
| 信息系统 | 23.08 | 14.36 | 技术支持 |
| 信息系统 | 30.77 | 23.08 | 网络管理员 |
为了过滤表,您使用相等运算符 (=) 创建了一个简单表达式:
COMMENT 过滤该表以显示其 Department 为 "Finance" 的记录 SET FILTER TO Department = "Finance"
第一个过滤器结果
根据该过滤器,您预期在过滤表中看到四个记录,但是您只看到两个记录:
| 部门 | Max_Hourly | Min_Hourly | 位置 |
|---|---|---|---|
| Finance | 24.62 | 20.51 | 会计 |
| Finance | 18.46 | 14.67 | 采购职员 |
因为相等运算符区分大小写,所以其 Department 域包含 "finance" 的记录被从结果中排除。您还需要在结果中包括这些记录。
使用 LOWER( ) 函数帮助过滤表
为了帮助您执行比较,Analytics 提供了相应的函数,通过将您要比较的文本转换为已知的大小写格式(如小写),使比较操作变得更加可靠。
为了过滤该表以便无论大小写格式是什么,您的结果都包括财务部的所有员工,您使用相同的表达式,但是您使用 LOWER( ) 函数将所有值转换为小写:
COMMENT 过滤该表以显示其 Department 为 "finance" 的记录 SET FILTER TO LOWER(Department) = "finance"
在对该表达式进行求值时,LOWER("Finance") 变成 "finance",并且随后被与相等运算符右侧的字符串进行比较。
第二个过滤器结果
在表达式中使用 LOWER( ) 函数时,过滤器将包括财务部的所有员工:
| 部门 | Max_Hourly | Min_Hourly | 位置 |
|---|---|---|---|
| Finance | 24.62 | 20.51 | 会计 |
| finance | 23.08 | 17.95 | 现金支付职员 |
| finance | 18.46 | 14.67 | 应付账款职员 |
| Finance | 18.46 | 14.67 | 采购职员 |