Tous,
Cela semble être une tâche assez simple mais extrêmement frustrante. Comment remplacer les guillemets dans une chaîne.
Disons que j'ai les colonnes suivantes ( Inv 01 , Inv 02 ... Inv 26) .
Donc, j'ai acquis les noms de colonnes et construit une condition comme ceci :
Stmt = "";
for(i = 1, i <= N Items(InvColNames), i++,
If(i == 1,
Stmt = ":" || InvColNames[i] || " >= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
,
Stmt = Stmt || " & " || ":" || InvColNames[i] || ">= 1 &" || ":" || InvColNames[i] || " <= InvLimit" ;
) ;
);
":Inv 01 >= 1 &:Inv 01 <= InvLimit & :Inv 02>= 1 &:Inv 02 <= InvLimit & :Inv 03>= 1 &:Inv 03 <= InvLimit" Stmt = Substitute(Stmt, "\!"", "");
InvStatusExpr = Expr(dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(Expr(Stmt))));
Eval(Eval Expr(InvStatusExpr));Je leur souhaite d'utiliser la condition que j'ai construite comme expression et de définir une condition. Le problème est cependant dans sa forme actuelle, puisque le "Stmt" que j'ai construit est entouré de guillemets doubles, il est évalué comme une chaîne et l'instruction que j'ai construite est remplie dans la nouvelle colonne.
Si quelqu'un peut me montrer un moyen simple de remplacer les guillemets doubles dans une chaîne et de le faire fonctionner, j'apprécierais son aide.

Meilleur
Uday
Eval( Parse( Eval Insert( vous sortira des ennuis lorsque vous êtes vraiment bloqué mais devrait être un dernier recours car le code est difficile à déboguer.
Fondamentalement, vous insérez votre chaîne sous forme de texte dans le JSL souhaité et évaluez ensuite le JSL.Le ^^ indique à la commande d'insertion où travailler.
Eval( Parse( Eval Insert("\[ dt_Inp << New Column("Status_Inv",Numeric,Continuous,Formula(^Stmt^)); ]\" ) ) );C'est ce qu'on appelle le JSL dynamique qui peut être très puissant.