コンボボックスから何かを選択した後はどうすればよいですか? //fruit is a row in my table
nw = New window ("Select fruit",
cb = combo box ("apple", "Mango", "Banana")
cb << Set Selected,
<< Set Width (20),
//Here I select apple
Button Box ("OK",
table1 << SelectWhere(:fruit!=apple) << Delete Rows;
) )「リンゴ」に対応するデータのみを選択して分析を進めるにはどうすればよいですか
このコードから欲しいものは次のとおりです。
1、まずコンボボックスを作ります
2. コンボボックスからリンゴを選択します
3. [OK] をクリックすると、他の行が削除され、apple が含まれる行のみが残るはずです。
基本的なデータ分析とモデリングウィンドウズRe: コンボボックスから何かを選択した後はどうすればよいですか?このようなことができます。
table1 = New Table( "Kind of Fruity",
Add Rows( 6 ),
New Column( "fruit", Character, "Nominal", Set Values( {"Apple", "Banana", "Mango", "Apple", "Apple", "Banana"} ) ),
New Column( "Condiment",
Character,
"Nominal",
Set Values( {"Peanut Butter", "Ketchup", "Cayenne Pepper", "Chocolate Fudge", "Caramel", "Salt"} )
)
);
nw = New Window( "Select fruit",
cb = Combo Box( {"Apple", "Mango", "Banana"} ),
Button Box( "OK",
table1 << Delete Rows( table1 << Get Rows Where( :fruit != (cb << Get Selected) ) );
nw << Close Window;
)
);Re: コンボボックスから何かを選択した後はどうすればよいですか?スクリプトを少し変更する必要があります。
- コンボボックスに値を入力するにはリストを使用する必要があります
- << get selected を使用して、ユーザーによって選択された値 (通常は [OK] ボタン内) を取得する必要があります。
- Select Where ステートメントでのユーザーの選択に基づいてチェックを動的に実行する必要があります。
@mmarchandTSIの回答にはこれらの問題に対する回答がすでに含まれているため、コンボボックスにフルーツ列に基づいて値を取得し、特定のフルーツを設定し、select whereの代わりに<< get row whereを使用する方法を示す、少し異なるソリューションを提供します。
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(5),
Compress File When Saved(1),
New Column("fruit",
Character,
"Nominal",
Set Values({"apple", "Mango", "Banana", "apple", "Banana", "Kiwi"})
)
);
Summarize(dt, fruits = By(:fruit));
nw = New Window("Select fruit",
cb_fruits = Combo Box(fruits),
Button Box("OK",
sel_fruit = cb_fruits << get selected;
nok_fruit_rows = dt << Get Rows Where(:fruit != sel_fruit);
dt << Delete Rows(nok_fruit_rows); // note that fruits variable isn't updated
nw << Close Window;
),
cb_fruits << Set(Contains(fruits, "Kiwi"));
);