JSL を介して列に値ラベルを追加する方法私のメインテーブル (テーブル 1) には、任意の数値を保持する「Bin」という列があります (別のテーブルであるテーブル 2 の列「Bin Number」エントリに対応します)。 次に、スクリプトを使用してこの列「Bin」に値ラベルを割り当てたいと思います。 値ラベルは、「ビン番号」と「説明」の 2 つの列を持つ表 2 から取得されます。
次のようなものをハードコーディングする
Column( dt, 1 ) << Add Column Properties( Value Labels( {"1" = "Cool", "2" = "Awesome", "3" = "Bad"} ), Use Value Labels( 1 ) );十分に簡単です。 ただし、値ラベルが動的であり、他のテーブルにあるものから定式化される式を作成する方法に苦労しています。 上記のコードでは、「1、2、3、...」は「ビン番号」のエントリであり、「Cool、Awesome、Bad、...」は表 2 の「説明」のエントリです。
素敵な裏技を教えていただければ幸いです。 ありがとう!
Re: JSL を介して列に値ラベルを追加する方法うまくいきました、ありがとうございます。 あなたの回答により、とても簡単に見えました。
Re: JSL を介して列に値ラベルを追加する方法この問題に対処する 1 つの方法を次に示します。 基本的には、必要な特定の構造を含む文字列を作成します。 次に、値ラベルを列に追加するために必要なリストに要素として追加します。
Names Default To Here( 1 );
dt = New Table( "Untitled 36", Add Rows( 3 ),
New Column( "Column 1", Character, "Nominal",
Set Values( {"1", "2", "3"} ) ) );
NamesList = {"Cool", "Awsome", "Bad"};
ValuesList = Column( dt, 1 ) << get values;
NamesValuesList = {};
// Build the Value Labels List
For( i = 1, i <= N Items( NamesList ), i++,
Insert Into( namesvalueslist,
Parse( "\!"" || ValuesList[i] || "\!" = \!"" || NamesList[i] || "\!"" ) )
);
// Create the Value Labels
Column( dt, 1 ) << set property( "Value Labels", Eval( NamesValuesList ) );