やあ、
初心者のJMPユーザーはこちら、
「Tag.ULIMIT-Tag.LLIMIT」という数式を含む新しい列「TagRange」を作成したいと思います。
Tag.ULIMITとTag.LLIMITは、データテーブルの列です。
以下のように数式で列名を明示的に定義することで列を作成できますが、これらを変数「UpperLIMIT」と「LowerLIMIT」に置き換えたいと思います。
(最終的には、ユーザーが選択したタグ名に基づいてこの列を作成するスクリプトを実行したいと思います)
Names Default To Here( 1 );
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
dt = Current Data Table();
これは機能します:
dt << New Column( a || " Range", formula( :Tag.ULIMIT - :Tag.LLIMIT ) );
これは機能しません:動作しません:
dt << New Column( a || " Range", formula( :UpperLIMIT - :LowerLIMIT ) );
JMPは、式を作成する前に「式」定義内のステートメントを評価しません。数式が必要なものであると想定しています。したがって、数式は、指定されたときに必要に応じて構文的にする必要があります。以下のコードはあなたの例のためにそれを処理します
Names Default To Here( 1 );
dt = Current Data Table();
a = "Tag";
UpperLIMIT = a || ".ULIMIT";
LowerLIMIT = a || ".LLIMIT";
Eval(
Parse(
"dt << New Column( \!"" || a || " Range\!", formula( :"
|| UpperLIMIT || " - :" || LowerLIMIT || " ) )); "
)
);