Hallo allerseits,
Ich arbeite an einem Skript, bei dem ich eine Zeichenfolge als Spaltennamen verwenden und diesen Spaltennamen in einer Formel verwenden möchte, siehe unten:
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
//example column
dt << New Column("klaatu barada nikto", formula(3));
//suppose we don't know what exactly will be in 'a' as it is controlled by a for loop etc.
a = Concat Items( {"klaatu", "barada", "nikto"}, " " );
//can we get another column to take 'a' as an input?
dt << New Column("Gort", formula(column(a)*:Y));Wenn ich dies verwende, wird "klaatu barada nikto" jedoch nicht als gültige Spalte angezeigt, obwohl wir sie zuvor erstellt haben.
Aus anderen Beiträgen habe ich gesehen, dass die Funktion column() verwendet werden kann, um einer Spalte einen String zuzuweisen, und ich habe sie zuvor auf diese Weise verwendet, aber in diesem Fall funktioniert sie nicht. Alles was wir am Ende haben ist folgendes:

Kennt jemand einen Workaround dafür? Danke für jede Hilfe im Voraus!
Schau dir das an Fügen Sie einen Ausdruck mit Eval Insert, Eval Expr, Parse und Substitute in einen anderen ein
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
//example column
dt << New Column("klaatu barada nikto", formula(3));
//suppose we don't know what exactly will be in 'a' as it is controlled by a for loop etc.
a = Concat Items( {"klaatu", "barada", "nikto"}, " " );
//can we get another column to take 'a' as an input?
Eval(EvalExpr(dt << New Column("Gort", numeric, formula(ascolumn(expr(a))*:Y))));Fantastisch! Vielen Dank für deine Hilfe.