Javascript Pentaho 不执行逐行操作?
Javascript in Pentaho doesn't perform row by row operation?
我有以下数据:
我用这个javascript:
var primary_phone ;
if (inter1.length == 10 && inter2.length == 10 && inter3.length == 0) {
primary_phone = inter1;
}
else if (inter1.length == 10 && inter2.length == 10 && inter3.length == 10) {
primary_phone = inter1;
}
else if (inter1.length != 10 && inter2.length == 10 && inter3.length == 0) {
primary_phone = inter2;
}
else if (inter1.length != 10 && inter2.length != 10 && inter3.length != 10) {
primary_phone = "+000000000000";
}
else if (inter1.length == 10 && inter2.length == 0 && inter3.length == 0) {
primary_phone = inter1;
}
我得到的是:
而不是:
你有想法吗?
简化版:
var primary_phone;
if ( inter1.length == 10 && (inter3.length == 0 || inter3.length == 10) {
primary_phone = inter1;
} else if ( inter2.length == 10 && inter3.length == 0 ) {
primary_phone = inter2;
} else if ( inter3.length != 10 ) {
primary_phone = "+000000000000";
}
if ( primary_phone != undefined ) {
//primary_phone was assigned a value
}
Javascript 不是每行初始化的,它(以及您分配的变量)在转换运行时持续存在。事实上,您可以为开始、每行和结束脚本设置单独的选项卡。
要使其正常工作,您需要在脚本开头或 else 子句中设置 reset primary_phone:
else {
primary_phone = null;
}
我有以下数据:
我用这个javascript:
var primary_phone ;
if (inter1.length == 10 && inter2.length == 10 && inter3.length == 0) {
primary_phone = inter1;
}
else if (inter1.length == 10 && inter2.length == 10 && inter3.length == 10) {
primary_phone = inter1;
}
else if (inter1.length != 10 && inter2.length == 10 && inter3.length == 0) {
primary_phone = inter2;
}
else if (inter1.length != 10 && inter2.length != 10 && inter3.length != 10) {
primary_phone = "+000000000000";
}
else if (inter1.length == 10 && inter2.length == 0 && inter3.length == 0) {
primary_phone = inter1;
}
我得到的是:
而不是:
你有想法吗?
简化版:
var primary_phone;
if ( inter1.length == 10 && (inter3.length == 0 || inter3.length == 10) {
primary_phone = inter1;
} else if ( inter2.length == 10 && inter3.length == 0 ) {
primary_phone = inter2;
} else if ( inter3.length != 10 ) {
primary_phone = "+000000000000";
}
if ( primary_phone != undefined ) {
//primary_phone was assigned a value
}
Javascript 不是每行初始化的,它(以及您分配的变量)在转换运行时持续存在。事实上,您可以为开始、每行和结束脚本设置单独的选项卡。
要使其正常工作,您需要在脚本开头或 else 子句中设置 reset primary_phone:
else {
primary_phone = null;
}