L'évaluation Expr ne fonctionne pasJe suis toujours perplexe face à celle-ci. J'ai créé cette formule à partir d'une autre qui fonctionnait auparavant.
// 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)) ) )
);
)
);
);
La formule semble rester non évaluée.
Automatisation et scriptageRe: L'expression Eval ne fonctionne pasAs Column( Eval( col ) ) devrait être As Column( Expr( col ) );
Re: L'expression Eval ne fonctionne pasVoici à quoi ressemble le produit fini.
// 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 )) ) )
);
)
);
);
Re: L'expression Eval ne fonctionne pasVous pouvez également utiliser le code ci-dessous. Il créera des références de colonnes comme si la colonne avait été ajoutée dans l'éditeur de formules.
L'un des avantages : même si la colonne d'entrée est renommée, la formule fonctionne toujours.
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 )) )) )
);
)
);
);