CLEM 示例
本节中的示例表达式说明了CLEM的正确语法和可能的表达式类型。
简单表达式
下面这个公式可根据字段 After 和 Before 的值导出一个新字段,您的公式也可以像这个公式一样简单。
(After - Before) / Before * 100.0
注意:在引用字段值的时候不需要给字段名加引号。 类似的,如下的表达式只是简单地返回字段 salary 的对数值。
log(salary)
复杂表达式
表达式也可以很长而且非常复杂。 如果两个字段( $KX-Kohonen 和 $KY-Kohonen)的值落在了指定范围之外,如下的表达式将返回 true。 注意:由于此处的字段名包含有特殊字符,因此给它们加上了单引号。
('$KX-Kohonen' >= -0.2635771036148072 and '$KX-Kohonen' <= 0.3146203637123107
and '$KY-Kohonen' >= -0.18975617885589602 and
'$KY-Kohonen' <= 0.17674794197082522) -> T
少数几个函数(如字符串函数)需要使用正确的语法键入几个参数值。 下面例子中使用的函数 subscrs 将返回 produce_ID 字段的第一个字符,用以指明该物品究竟是属于有机、转基因还是常规。 表达式的结果将由
-> `result` 来描述。
subscrs(1,produce_ID) -> `c`
类似的表达式有:
stripchar(`3`,`123`) -> `12`
需要注意的是,字符总是封装在单个反引号中。
表达式中的组合函数
CLEM表达式通常由多个函数组合而成。 以下函数结合了 subscr 和 lowertoupper ,返回 produce_ID的第一个字符并将其转换为大写。
lowertoupper(subscr(1,produce_ID)) -> `C`
同样的表达式还可以简写为:
lowertoupper(produce_ID(1)) -> `C`
另一个经常使用的函数组合是:
locchar_back(`n`, (length(web_page)), web_page)
此表达式将字符 `n` 定位在字段web_page 的值中,从字段值的最后一个字符开始向后读取。 通过添加 length 功能,表达式可以动态计算当前值的长度,而不是使用一个静态数字,例如7,对于少于7个字符的值,7将无效。
特殊函数
许多特殊功能(以 @ 符号开头)可供使用。 常用的函数包括:
@BLANK('referrer ID') -> T
通常,特殊函数通过组合的方式加以使用,这种方式常用于一次性标记多个字段中的空白值。
@BLANK(@FIELD)-> T
CLEM文档中讨论了更多示例。 更多信息请参阅 CLEM(遗留)语言参考资料。