Eval Expr funktioniert nichtDas hat mich immer verwirrt. Ich habe diese Formel auf der Grundlage einer zuvor funktionierenden Formel erstellt.
// Get the current data table
dt = Current Data Table();
colNames = dt << get column names( continuous, string );
// Loop through all columns
For each( {col}, colNames,
Eval(
Eval Expr(
New Column(
Expr( col ) || "_Gouge",
Numeric,
"Continuous",
Format( "Best", 10 ),
Formula( (Mean( As Column( Eval(col) ) [Index(1, 100)]) + Mean(As Column(Eval(col)) [Index(N Rows() - 99, N Rows())])) / 2 - Col Minimum(As Column(Eval(col)) ) )
);
)
);
);
Die Formel scheint weiterhin ungeprüft zu sein.
Automatisierung und SkripterstellungBetreff: Eval Expr funktioniert nichtAs Column( Eval( col ) ) sollte As Column( Expr( col ) ) sein.
Betreff: Eval Expr funktioniert nichtDas fertige Produkt sieht so aus.
// Get the current data table
dt = Current Data Table();
colNames = dt << get column names( continuous, string );
// Loop through all columns
For each( {col}, colNames,
Eval(
Eval Expr(
New Column(
Expr( col ) || "_Gouge",
Numeric,
"Continuous",
Format( "Best", 10 ),
Formula( (Mean( As Column( Expr( col ) ) [Index(1, 100)]) + Mean(As Column( Expr( col ) ) [Index(N Rows() - 99, N Rows())])) / 2 - Col Minimum(As Column( Expr( col )) ) )
);
)
);
);
Betreff: Eval Expr funktioniert nichtAlternativ können Sie auch den unten stehenden Code verwenden. Dieser erstellt Spaltenreferenzen, die so aussehen, als ob die Spalte im Formel-Editor hinzugefügt worden wäre.
Einer der Vorteile: Auch wenn die Eingabespalte umbenannt wird, funktioniert die Formel weiterhin.
dt = Current Data Table();
colNames = dt << get column names( continuous, string );
// Loop through all columns
For each( {col}, colNames,
Eval(
Eval Expr(
New Column(
col || "_Gouge",
Numeric,
"Continuous",
Format( "Best", 10 ),
Formula( (Mean( Expr(Name Expr(As Column( col ) )) [Index(1, 100)]) + Mean(Expr(Name Expr(As Column( col ) )) [Index(N Rows() - 99, N Rows())])) / 2 - Col Minimum(Expr(Name Expr(As Column( col )) )) )
);
)
);
);