Hallo zusammen, ich habe ein Skript, das neue numerische Spalten für alle Spalten mit sehr kleinen Werten erstellt (dh eine Spalte mit der Einheit Meter in mm oder µm zur besseren Lesbarkeit umwandelt).
Es schien gut zu funktionieren; die Spalten wurden ohne Probleme generiert. Aber dann bekam ich später Probleme beim Verbinden mit anderen Tabellen, plötzlich zeigten die Spalten keine Daten mehr an. Wenn ich die Formel in den neuen Spalten überprüfe, sehe ich, dass sie anstelle des Namens der Quellspalte eine colnames[i]-Referenz aus der Schleife im Skript enthält (siehe Screenshot).
Names Default To Here( 1 );
dt = Current Data Table();
colnames = dt << get column names( numeric, string );
For( i = 1, i <= N Items( colnames ), i++,
If( (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))<1e-4 & (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))>0,
If( !Contains( colnames, colnames[i] || "_µm"),
dt << New Column( colnames[i] || "_µm", Formula( As Column( colnames[i] ) * 1e6 ) ) )
,
If( (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))<1e-1 & (Col Max( column(dt,colnames[i]))-Col Min( column(dt,colnames[i])))>1e-4,
If( !Contains( colnames, colnames[i] || "mm"),
dt<<NEW column=""></NEW>
Hallo @mvanderaa1 ,
Dies ist ein ziemlich häufiges Problem. Können Sie eine der unter dem folgenden Link aufgeführten Optionen ausprobieren?
Fügen Sie einen Ausdruck mit Eval Insert, Eval Expr, Parse und Substitute in einen anderen ein
Meine Anlaufstelle ist die oberste:
//Eval Expr
For( i = 1, i <= N Items(cols), i++,
Eval( Eval Expr(
dt << New Column(
"2 * " || Char( cols[i] ),
Numeric,
"Continuous",
Formula( As Column( Expr( Char( cols[i] ) ) ) * 2)
)
) )
);