Javascript в Пентахо не выполняет строку за строкой? - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть следующие данные:

enter image description here

Я использую это 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;
}

И что я получаю это: enter image description here

Вместо: enter image description here

У вас есть идея?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Javascript не инициализируется для каждой строки, оно (и назначенные вами переменные) сохраняется в течение времени выполнения преобразования. На самом деле, вы можете иметь отдельные вкладки для начального, построчного и конечного сценариев.

Чтобы это работало, вам нужно установить reset primary_phone в начале скрипта или в предложении else:

else { 
    primary_phone = null; 
}
0 голосов
/ 03 февраля 2020

Упрощенно:

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
}
...