콤보 상자에서 항목을 선택한 후 어떻게 진행하나요? //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. "확인"을 클릭하면 다른 행은 삭제되고 사과가 있는 행만 남게 됩니다.
기본 데이터 분석 및 모델링윈도우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를 사용하여 사용자가 선택한 값(일반적으로 확인 버튼 내)을 가져와야 합니다.
- Select Where 문의 사용자 선택에 따라 동적으로 검사를 수행해야 합니다.
@mmarchandTSI 답변에는 이미 이러한 문제에 대한 답변이 있으므로 과일 열을 기반으로 콤보 상자에 값을 가져오고 특정 과일을 설정하는 방법을 보여주고 << 위치를 선택하는 대신 << 행 가져오기를 사용하는 약간 다른 솔루션을 제공합니다.
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"));
);