Spaltenname aus ZeichenfolgeHallo allerseits,
Ich arbeite an einem Skript, in 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 jedoch verwende, wird „klaatu barada nikto“ nicht als gültige Spalte angezeigt, obwohl wir sie zuvor erstellt haben.
In anderen Beiträgen habe ich gesehen, dass die Funktion „column()“ verwendet werden kann, um einer Spalte eine Zeichenfolge zuzuweisen, und ich habe sie auch schon 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? Vielen Dank für jede Hilfe im Voraus!
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVersuchsplanungBetreff: Spaltenname aus ZeichenfolgeWenn ich richtig verstehe, was Sie wollen, könnten Sie versuchen, Namensausdruck hinzuzufügen
Names Default To Here(1);
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"}, " " );
Eval(EvalExpr(dt << New Column("Gort", numeric, formula(Expr(Name Expr(As Column(a)))*:Y))));

Betreff: Spaltenname aus ZeichenfolgeJarmo,
Ich verwende den gleichen Ansatz in einem meiner Skripte und bin auf ein Problem gestoßen: Die Formel in der neuen Spalte enthält die Spalte „a“ wie folgt:
Formula(As Column("klaatu barada nikto")*:Y)Das bedeutet, dass diese Formel ungültig wird, wenn sich der Name dieser Spalte ändert (und in meinem Fall ändert er sich). Ich muss es irgendwie referenzieren, nicht als Als Spalte("Name") aber :Name - Gibt es eine Möglichkeit, das zu tun?
</CODE><CODE class=" language-jsl">
</CODE></P><P> </P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-393062" slang="en-US" mode="NONE">Betreff: Spaltenname aus Zeichenfolge</LINGO-SUB><LINGO-BODY id="lingo-body-393062" slang="en-US" mode="NONE"><P>Fantastisch! Vielen Dank für deine Hilfe.</P></LINGO-BODY><LINGO-SUB id="lingo-sub-393057" slang="en-US" mode="NONE">Betreff: Spaltenname aus Zeichenfolge</LINGO-SUB><LINGO-BODY id="lingo-body-393057" slang="en-US" mode="NONE"><P>Schau dir das an<A href="https://community.jmp.com/t5/JSL-Cookbook/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998" target="_blank"> Fügen Sie einen Ausdruck in einen anderen ein, indem Sie Eval Insert, Eval Expr, Parse und Substitute verwenden</A></P><P> </P><PRE><CODE class=" language-jsl">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))));