Boucle pour définir une formule de normalisation pour plusieurs colonnesBonjour la communauté,
J'essaie d'écrire un script JSL pour définir une formule de normalisation avec une référence de colonne dynamique.
What's wrong here?
"Mean(M4_pop)" & "Std Dev(M4_pop)" are fix columns that are to be used for the normalization.
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (colName- :"Mean(M4_pop)"n) / :"Std Dev(M4_pop)"n)
);
);
Automatisation et scriptsRe : Boucle pour définir une formule de normalisation pour plusieurs colonnesVous devrez évaluer colName par rapport à la formule
Insérer une expression dans une autre à l'aide de Eval Insert, Eval Expr, Parse et Substitute
Re : Boucle pour définir une formule de normalisation pour plusieurs colonnesSalut David,
il existe peut-être des solutions plus jolies, mais voici une façon de faire fonctionner cela :
dt = Current Data Table();
numCols = dt << Get Column Names( Numeric, "String" );
For( i = 1, i <= N Items( numCols ), i++,
colName = numCols[i];
mean = "Mean(M4_pop)";
std = "Std Dev(M4_pop)";
normColName = colName || "_norm";
dt << New Column(
normColName,
Numeric,
Continuous,
Formula( (as column(colName)- as column (mean)) / as column(Std))
);
);
Acclamations,
Jonas
Re : Boucle pour définir une formule de normalisation pour plusieurs colonnesSalut Jonas,
Merci pour votre réponse. De petits changements qui ont mené au succès.:)