文字列からの列名やあみんな、
文字列を列名として使用し、その列名を数式で使用したいスクリプトに取り組んでいます。以下を参照してください。
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));ただし、これを使用すると、前に作成したにもかかわらず、「klaatu barada nikto」が有効な列として認識されません。
他の投稿から、column() 関数を使用して列に文字列を割り当てることができることがわかり、以前にもこの方法で使用しましたが、今回は機能しません。 最終的に得られるのは次のとおりです。

誰かこれの回避策を知っていますか? 事前にご協力いただきありがとうございます。
高度な統計モデリング自動化とスクリプト作成実験計画法Re: 文字列からの列名あなたが何を望んでいるのかを正しく理解したら、Name Expr を追加してみてください
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))));

Re: 文字列からの列名ジャーモ
私はスクリプトの 1 つで同じアプローチを使用していますが、問題に遭遇しました。新しい列の数式には、次のような「a」列が含まれます。
Formula(As Column("klaatu barada nikto")*:Y)つまり、その列の名前が変更されると(私の場合は変更されます)、この式は無効になります。 としてではなく、何らかの方法で参照する必要があります列として("名前")しかし、として:名前-何か方法はありますか?
</CODE><CODE class=" language-jsl">
</CODE></P><P> </P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-393062" slang="en-US" mode="NONE">Re: 文字列からの列名</LINGO-SUB><LINGO-BODY id="lingo-body-393062" slang="en-US" mode="NONE"><P>素晴らしい! 手伝ってくれてどうもありがとう。</P></LINGO-BODY><LINGO-SUB id="lingo-sub-393057" slang="en-US" mode="NONE">Re: 文字列からの列名</LINGO-SUB><LINGO-BODY id="lingo-body-393057" slang="en-US" mode="NONE"><P>これをみて<A href="https://community.jmp.com/t5/JSL-Cookbook/Insert-one-expression-into-another-using-Eval-Insert-Eval-Expr/ta-p/48998" target="_blank">Eval Insert、Eval Expr、Parse、Substitute を使用して、ある式を別の式に挿入する</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))));