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( :"身長(インチ)"n )),
yCols = Col List( "Y, 応答", Columns( :"体重(ポンド)"n, :年齢 ) )
);