列を選択するには、Set Selectedメッセージを送ります。
col << Set Selected( 1 );
名前に特定の文字列が含まれる列をすべて選択するには、以下のスクリプトを実行します。
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
colList = dt << Get Column Names( String );
For( i = 1, i <= N Cols( dt ), i++,
If( Contains( colList[i], "NPN" ), /* 名前にNPNが含まれる列のみ 選択する */
Column( colList[i] ) << Set Selected( 1 )
)
);
多くの列を選択したい場合は、Select Columnsメッセージをデータテーブルに送信するという方法もあります。『スクリプトガイド』のOpen(path, <arguments>)を参照してください。
現在選択されている列のリストを取得するには、Get Selected Columnsメッセージを使います。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
:age << Set Selected( 1 );
:sex << Set Selected( 1 );
dt << Get Selected Columns();
{:age, :sex}
選択されている列のリストを、string引数を使って文字列として戻します。
dt << Get Selected Columns( string );
{"年齢", "性別", "身長(インチ)"}
どの列が選択されているかがわかったら、それらの列に対してアクションを行うスクリプトを書くことができます。または、列を繰り返し選択し、一度に1つずつ処理するスクリプトを書きます。
列を選択してから取得する場合は、列にSet Selectedメッセージを送ります。列属性を参照してください。
特定の列を選択し、そこに移動するには、Go Toメッセージを使用します。
dt << Go To( 列名 | 列番号 );
列数が多いデータテーブルに対し、このメッセージを使うと、データテーブルが左へとスクロールされ、第1列が選択された形で画面に表示されます。
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
dt << Go To( 1 );
現在選択されていない列を選択し、現在選択されている列の選択を解除するには、 Invert Column Selectionメッセージを使用します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt:年齢 << Set Selected( 1 );
dt:"身長(インチ)"n << Set Selected( 1 );
Wait( 1 );
b = dt << Invert Column Selection;
列のリストが与えられた場合、リストにない列が選択されます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
a = { :"身長(インチ)"n, :"体重(ポンド)"n };
b = dt << Invert Column Selection( a );