Column Dialog()は、将来廃止されるDialog()関数の変形で、現在のデータテーブルから列を選ぶよう促します。[OK]、[キャンセル]、そして[削除]の各ボタンと、選択の対象となるデータテーブル列のリストは、どれも自動的に付加されます。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dlg = Column Dialog(
Col ID = Col List( "X, 標準", Max Col( 1 ) ),
Group = Col List( "グループ因子" ),
Split = Col List( "Y, 応答" ),
w = Col List( "重み" ),
H List( "有意水準", alpha = Edit Number( .05 ) )
);
図11.36 Column Dialog
次の例では、ユーザの選択に応じて、次の例のようなリストが戻されます。
{Col ID = {}, Group = {}, Split = {}, w = {}, alpha = 0.05, Button( -1 )}
これらのリストを得るには、Col List節はColumn Dialog()の直接の引数である必要があります(他の引数の入れ子になっていてはいけません)。オプションでMaxCol(n)引数を指定すると、選択できる列の数をnに制限できます。リストは常に戻されますが、空リストの場合もあります。ColList節は、最大12まで指定することができます。
廃止されるDialog()コマンドで受け付けられていた他の項目はColumn Dialog()でも受け付けられ、同じ機能を果たします。MinColパラメータとMaxCol引数を使うと、列ダイアログボックスで選択できる列の最大数と最小数を指定できます。
選択できる列のデータタイプ(Ordinal、Nominal、またはContinuous)を指定することもできます。「列の選択」リストボックスの幅は、Select List Width(pixels)引数を使って設定できます。また、選択された列のリストボックスの幅を設定するには、Col List()関数内でWidth(pixels)を使います。
次の例は、1つの数値列だけを選択できる列ダイアログボックスを生成します。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
rt_dlg = Column Dialog(
cv = Col List( "応答変数", MaxCol( 1 ), MinCol( 1 ), DataType( "Numeric" ) )
);
図11.37 選択列の制限
DataTypeとして指定できるのは、Numeric、Character、およびAnyです。
また、特定の列をあらかじめ割り当てておくには、Columnsを使います。たとえば、次のスクリプトは、役割Xに「身長(インチ)」列を、役割Yに「体重(ポンド)」列と「年齢」列を割り当てています。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dlg = Column Dialog(
xCols = Col List( "X, 因子", Columns( :Name("身長(インチ)") )),
yCols = Col List( "Y, 応答", Columns( :Name("体重(ポンド)"), :年齢 ) )
);