<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />皆さんこんにちは、
ダイナミック コンボ ボックスの 2 つの選択肢に基づいてサブセットを作成するスクリプトを作成しようとしています。 変数を選択すると変数が保存されるため、ダイアログ部分は良好に見えますが、サブセットの実際の生成は機能していません。
/* 開いているデータベース部分を一時的に削除します */
clearGlobals():
ER_Temp = Open( "C:\Users\Kilik\Desktop\Tbl_RIE_ERS.jmp" );
/* セット "a" のユニークなフィルムとセット "b" のユニークなツールのリストを抽出します*/
Summarize( a = By( :Film ) );
Insert Into( a, "<フィルムを選択>", 1 );
Summarize( b = By( :Tool ) );
Insert Into( b, "<選択ツール>", 1 );
/* ダイアログを作成します*/
New Window( "例",
<<モーダル、
H リストボックス(
/*フィルムを選択するボックスを作成します*/
Panel Box( "フィルムを選択:",
cb1 = コンボ ボックス(
、
<
関数 ( {これ},
myFilm = this << Get Selected();
)
)
)
)、
/*ツールを選択するボックスを作成します*/
Panel Box( "ツールを選択:",
cb2 = コンボ ボックス(
b、
<
関数 ( {これ},
myTool = this << Get Selected();
)
)
)
)、
)
);
//両方の選択に基づいてサブセットを作成します
ER_Temp << clearRowStates;
ER_Temp << selectWhere((:Film == myFilm)&(:Tool==myTool));
Selection = ER_Temp << Subset(output table name("selection"));
ありがとう、
デビッド
こんにちは、デビッド。
この例では、myFilm と myTool の両方が文字列になります。Select Where が記述されているように、:Film または :Tool が数値列の場合、数値列に文字列値を指定することはできないため、行は選択されません。Num() 関数は、文字列 ("12" など) として表された数値を数値に変換します。
考慮すべきもう 1 つの点は、新しいウィンドウで選択したデータに一致する値がない可能性があることです。ユーザーには、:Film のすべての一意の値と :Tool の一意の値が表示されますが、:Film のすべての値に対して、:Tool のすべての値がデータで表されるという意味ではありません。Select Where() ステートメントは、両方の条件が真である行のみを選択しています。
それが役立つことを願っています。
ウェンディ
サブセット ステートメントに余分な括弧があります。また、変数とテーブルに同じ名前を付けることは避けます。次のように変更します。
Select_dt = ER_温度<<サブセット(出力テーブル名( "選択" ) 、選択した行( 1 ))) ;