DataCleaner----3.1 JavaScript转换器

JavaScript转换器

JavaScript转换器(JavaScript transformer)允许用户定义自己的脚本,该脚本可以执行相当复杂的操作,比如调节、循环。它也可以用来表达小型企业的规则。
对于本文档,JavaScript的完整引用超出了范围。但是我们将展示一些例子,更重要的是讨论可用的变量及其类型。
JavaScript转换器返回一个字符串。输入的脚本应提供此字符串作为脚本的最后一行。这就是模板脚本如下所示的原因(因此您可以实现eval()函数):

function eval() {
   return \"hello \" + values[0];
}
eval();

变量(Variables):

变量(Variable)说明(Description)
values行数据中所有值的数组(由“Columns”属性映射)。
使用“values”可以获取第一个和第三个值,例如:
var first = values[0];
var third = values[2];
注意JavaScript数组索引是基于0的。也可以通过列名获取,而不是索引,如下所示:
var idValue = values[“id”];
column_name*保留了变量名的任何列名也可作为变量直接使用到脚本的作用域中是同样有效的。
例如,如果有两个列,FIRST_NAME 和 LAST_NAME,则可以轻松地将它们连接起来:
var fullname = FIRST_NAME + " " + LAST_NAME;
out对系统控制台的“输出”流的引用。
如果在控制台可见的情况下运行DataCleaner,则可以将消息打印到控制台,如下所示:
out.println("Value: " + values[0]);
log对日志模块的引用。可以配置日志记录,日志消息存储在文件中,这比简单地使用“out”更灵活。下面是如何编写一些严重程度不同的日志消息:
log.debug(“This is a DEBUG message, it will probably be disregarded”);
log.info(“This is a INFO message, it will probably be written to the logs”);
log.warn(“This is a WARN message, it will most likely be written to the logs”);
log.error(“This is a ERROR message, it will almost certainly be written to the logs”);

数据类型(Data types):

数据类型(Data types)说明(Description)
STRING字符串值表示为JavaScript字符串,这意味着它们(除其他外)具有如下方法:
var str = values[0];
// get the length of a string
var len = str.length();
// uppercase variant of a string
var up = str.toUpperCase();
// lowercase variant of a string
var lw = str.toLowerCase();
更多信息,我们建议使用W3 schools JavaScript字符串资料。
NUMBERNumbers 被视为常规的JavaScript Numbers ,
这意味着它们(除其他外)具有如下方法和运算符:
var num = values[0];
// format with 2 decimals
var formattedNumber = num.toFixed(2);
// add, subtract, multiply or divide
var m = (4 + num * 2 - 1) / 2;
有关更多信息,我们推荐查阅W3 schools JavaScript number资料
DATE日期值有点不同被视为Java日期,但留给您的接口几乎与常规JavaScript日期相同。
以下是典型方法的总结:
var d = values[0];
var year = d.getYear();
var month = d.getMonth();
var date = d.getDate();
var hour = d.getHour();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
// milliseconds since 1970-01-01
var timestamp = d.getTime();
更完整的资料,请查阅Java日期类。
BOOLEAN布尔值(真/假)true/false

点这儿返回DataCleaner中文文档主目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值