変数で new :Name() 命名法を使用する:Name("column name") から :"column name"n への移行が本当に気に入っています。特に、データテーブルが列を簡単に参照できる方法が気に入っています。 しかし、列名が変数の場合、うまく動作しません。
dt = currentdatatable();
colName = "Column Name";
//old way works fine
Column(dt,colName) << set name("new column name");
//if it's not a variable it works
dt:"Column Name"n << set name("new column name");
//as a variable, the syntax is lost on me
dt:colName << set name("new column name") // nope
dt:colName||"n" << set name("new column name") // nope
dt:colName||n << set name("new column name") // nopeそれは単純なことだと確信しています...しかし、それは私には思い浮かびません。 古い方法は問題なく機能するので、スクリプトを書く必要はありませんが、この新しい方法はずっとクリーンで、あらゆる場所で使用したいと思います 
ありがとう!
スクリプティングRe: 変数で new :Name() 命名法を使用するありがとう@txnelsonと@ジェフ・パーキンソン... それは間違いなく簡単な修正です:)
少し前にそれで問題が発生したようで、もう一度試してみようとは思いませんでした!
Re: 変数で new :Name() 命名法を使用するグーグルで調べた後、以前にその構文を見たことがある場所を少なくとも1つ見つけました。
データ キュレーション ワークフローの自動化 (2020-US-45MP-620)
ここへのリンクを提供します:
JMP16.0 - JSL 構文ガイド - 名前
Re: 変数で new :Name() 命名法を使用するジェフ、
""n ドキュメントに関するドキュメントを見つけるために、複数の検索を行いました。 それに関する具体的な参照はありますか?Re: 変数で new :Name() 命名法を使用する""n 構造は、ステートメント自体で文字リテラルを使用する必要がある場合にのみ使用することを意図していると思います。 したがって、「,n」を追加する必要はありません。
あなたのテストに関しては、これは私にとってはうまくいきます:
dt = open("$SAMPLE_DATA/Big Class.jmp");
colName = "height";
dt:colName << set name("new column name");
Re: 変数で new :Name() 命名法を使用するJMP 15.2.1を使用してWindows 10で実行すると、わずかに異なる結果が得られます
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
colName = "height";
Show(
dt:Height[1],
dt:Name( "height" )[1],
dt:"Height"[1],
dt:"Height"n[1],
Column( dt, "Height" )[1],
Column( dt, colName )[1],
dt:colName[1]
);
dt:colName << set name( "New Column Name" );
どちらが返されますか
dt:Height[1] = 59;
dt:height[1] = 59;
dt:Height[1] = 59;
dt:Height[1] = 59;
Column(dt, "Height")[1] = 59;
Column(dt, colName)[1] = 59;
dt:colName[1] = 59;
Scriptable[]
スクリプトが実行された後、データテーブルは次の名前になります
