J'ai l'impression que c'est une question simple, mais je n'arrive pas du tout à faire fonctionner cela.
Le contexte est que j'ai un extracteur XML qui doit, de manière frustrante, gérer des n-uplets composés principalement (à part une ligne) d'entrées redondantes à quelques niveaux de la structure. J'essaie de trouver ces entrées "en double" et de vérifier si ce sont effectivement des doublons avant de les importer dans ma plus grande table. J'ai réussi à vérifier le nombre de répétitions, mais j'ai du mal à faire fonctionner ma boucle for/if imbriquée. En fait, la boucle plante systématiquement tout le logiciel si j'ai un Eval( Eval Expr(....Expr())) imbriqué au mauvais endroit. Je ne sais pas pourquoi, et je me demande si je ne comprends pas simplement comment utiliser cette construction.
Je suppose que cela peut également être un problème avec l'utilisation de char() et concatenate90 imbriqués l'un dans l'autre, mais encore une fois, je ne sais pas pourquoi. Le code actuel que j'ai ci-dessous fait planter le logiciel.
colnames = dt << Get Column Names( String );
show(colnames);
reps = 0;
show(reps);
For( i = 1, i <= N Items( colnames), i++,
reps = Sum( reps, Contains(colnames[i], "Data - Common Counting Time")); show(reps)
);
check = 0;
//Repeats that split columns
colnamecount = "Scan Append Number_4"; //Using a file that only has three of these columns, so show(colnamecount) = *_4 means its not going past that first if statment
If( reps> 1,
For( i = 2, i = reps, i++,
Eval(Eval Expr(colnamecount = Concat("Scan Append Number_", Char(Expr(i))))); //This is the issue
If(dt:{"Scan Append Number_1"}[1] == Column( colnamecount )[1],
check = check + 1,
check = check + 12
)
)
);
show(check);Le code ne fonctionne pas malgré tout, mais jusqu'à ce que je puisse obtenir cette instruction If comparant la colonne avec le nom concaténé à la première des colonnes n-tuplées, cela n'a pas d'importance, et je dois d'abord faire fonctionner la concaténation et pas de crash jsl.
Quelqu'un a des idées ? Suis-je simplement stupide avec la syntaxe ?