Schleife zum Festlegen einer Normalisierungsformel für mehrere SpaltenHallo Community,
Ich versuche, ein JSL-Skript zu schreiben, um eine Normalisierungsformel mit dynamischer Spaltenreferenz festzulegen.
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)
);
);
Automatisierung und SkriptingBetreff: Schleife zum Festlegen einer Normalisierungsformel für mehrere SpaltenSie müssen colName zur Formel auswerten
Fügen Sie einen Ausdruck in einen anderen ein, indem Sie Eval Insert, Eval Expr, Parse und Substitute verwenden.
Betreff: Schleife zum Festlegen einer Normalisierungsformel für mehrere SpaltenHallo David,
Es gibt vielleicht schönere Lösungen, aber so kann es funktionieren:
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))
);
);
Prost,
Jonas
Betreff: Schleife zum Festlegen einer Normalisierungsformel für mehrere SpaltenHallo Jonas,
Danke für deine Antwort. Kleine Änderungen, die zum Erfolg führten:)