<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour, je voudrais saisir rapidement plusieurs colonnes avec la même formule globale mais des variables différentes.
J'ai essayé ce qui suit mais clairement, je n'utilise pas la bonne syntaxe pour appeler l'élément Fomula dans la fonction New Column :
Noms par défaut ici (1);
dt = tableau de données actuel ();
cc = N col (dt); // Conserve le numéro de colonne d'origine
Pour (i=9,i<= cc, i = i+2,
Nouvelle colonne ("Delta " || Nom de colonne (i+1),
numérique,
continu,
Formule (:Nom de colonne(i+1) - :Nom de colonne (i)) // Problème de syntaxe
);
);
Merci pour votre aide.
Sincèrement.
ce script pourrait créer quelque chose de proche de ce que vous recherchez.le paramètre Formula de la fonction New Column a besoin d'une formule entièrement construite, sous la forme dans laquelle elle doit être lorsqu'elle s'exécute réellement, c'est-à-dire après l'exécution de votre script.la stratégie eval( evalexpr( ... expr(...) ... expr(...) ... ) ) ci-dessous est une façon de faire ce dont vous avez besoin.expr() est utilisé pour étiqueter les parties qui doivent être évaluées.evalexpr() les traque et les évalue.eval() évalue l'expression renvoyée par evalexpr.Notez que le moins entre les deux expr() n'est PAS évalué à l'intérieur de la boucle for, mais names[i+1] EST évalué (par evalexpr) et NewColumn EST évalué (par eval).
<
dt = Nouveau tableau( "Sans titre",
Ajouter des lignes ( 1 ),
Nouvelle colonne( "a", Numérique, "Continu", Format( "Best", 12 ), Set Values( [1] ) ),
Nouvelle colonne( "b", Numérique, "Continu", Format( "Best", 12 ), Set Values( [2] ) ),
Nouvelle colonne( "c", Numérique, "Continu", Format( "Meilleur", 12 ), Définir les valeurs( [4] ) ),
Nouvelle colonne( "d", Numérique, "Continu", Format( "Best", 12 ), Set Values( [8] ) ),
Nouvelle colonne( "e", Numérique, "Continu", Format( "Best", 12 ), Set Values( [16] ) ),
Nouvelle colonne( "f", Numérique, "Continu", Format( "Best", 12 ), Set Values( [32] ) )
);
cc = N col (dt);
noms=dt<
Pour( je = 1, je <= cc, je = je + 2,
Eval( // évalue l'expression retournée par...
Eval Expr( // évalue l'expression embarquée...
New Column( "Delta " || char(names[ i + 1 ]), // convertit la colonne en chaîne
numérique, continu,
// La formule ne sera pas évaluée par elle-même.Nécessite DEUX expr pour ce cas
Formule( Expr( noms[ i + 1 ] ) - Expr( noms[ i ] ) )
)
)
)
);
/* ----- script résultant -----------------
Nouveau tableau( "Sans titre",
Ajouter des lignes ( 1 ),
Nouvelle colonne( "a", Numérique, "Continu", Format( "Best", 12 ), Set Values( [1] ) ),
Nouvelle colonne( "b", Numérique, "Continu", Format( "Best", 12 ), Set Values( [2] ) ),
Nouvelle colonne( "c", Numérique, "Continu", Format( "Meilleur", 12 ), Définir les valeurs( [4] ) ),
Nouvelle colonne( "d", Numérique, "Continu", Format( "Best", 12 ), Set Values( [8] ) ),
Nouvelle colonne( "e", Numérique, "Continu", Format( "Best", 12 ), Set Values( [16] ) ),
Nouvelle colonne( "f", Numérique, "Continu", Format( "Best", 12 ), Set Values( [32] ) ),
Nouvelle Colonne( "Delta b", Numérique, "Continu", Format( "Meilleur", 10 ), Formule(
- :un ) ),
Nouvelle colonne( "Delta d", Numérique, "Continu", Format( "Meilleur", 10 ), Formule( :d - :c ) ),
Nouvelle colonne( "Delta f", Numérique, "Continu", Format( "Meilleur", 10 ), Formule( :f - :e ) )
)
*/
