Search code examples
javascriptpentaho

Javascript in Pentaho doesn't perform row by row operation?


I have the following data:

enter image description here

I use this 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;
}

And what I get is: enter image description here

Instead of: enter image description here

Do you have an idea?


Solution

  • Simplified:

    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
    }