スクリプトガイド > 表示ツリー > モーダルウィンドウ > Column DialogとNew Windowの違い
公開日: 04/01/2021

Column DialogとNew Windowの違い

New Window()Column Dialog()は、どちらも列の選択ができる起動ウィンドウを作成できます。シンプルな起動ウィンドウを作成する場合は、Column Dialog()を使用してください。[削除]ボタン、[キャンセル]ボタン、列のリスト、[OK]ボタン(特にボタンが定義されていない場合)といった要素が自動的に追加されます。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dlg = Column Dialog(
	x = ColList( "X", Max Col( 1 ) ),
	y = ColList( "Y", Max Col( 1 ) )
);
 

// dlg = { x = {:weight}, y = {:height}, Button(1)};を戻す

Show( dlg );
 
If( dlg["Button"] == 1,
	xCol = dlg["x"];
	yCol = dlg["y"];
);
 
Show( xCol, yCol );

xCol = {:height};

yCol = {:weight};

New Window()は、オプションの引数が多数あり、より柔軟です。次の例では、ユーザは、2つの列を選択しないと[OK]ボタンをクリックできません。[OK]をクリックすると、二変量のグラフが作成されます。このような選択内容の検証は、Column Dialog()では実行できません。

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
xvar = .;
yvar = .;
win = New Window( "戻り値の確認の例",
	<<Modal,
 

// ユーザに対し、[OK]をクリックする前に2つの変数を選択するよう求める

	<<On Validate(
		Show( xvar, yvar );
			If( Is Missing( xvar ) | Is Missing( yvar ),
 

// xvarまたはyvarがない場合は、[OK]がクリックされても何もしない

			0,
			1
		);
	),
	Text Box( "2つの数値タイプの列を選択してください。" ),
	H List Box(
		Text Box( " X, 説明変数" ),
		x = Col List Box(
			dt, // データテーブル参照
			all, // データテーブルの列をすべて表示する
 

// ウィンドウが閉じる前に選択されている列の名前を取得する

			xvar = (x << Get Selected)[1];
			Show( xvar );
		),
		Text Box( "Y, 応答" ),
		y = Col List Box(
			dt,
			all,
			yvar = (y << Get Selected)[1];
			Show( yvar );
		)
	)
);
If (win["Button"] == 1, // ユーザがOKをクリックしたら...
xcol = Column( dt, xvar ); //  列を取得する
ycol = Column( dt, yvar );
dt << Bivariate( Y( ycol ), X( xcol ) ); // 「二変量」プロットを作成する
);
より詳細な情報が必要な場合や、質問があるときは、JMPユーザーコミュニティで答えを見つけましょう (community.jmp.com).