複選框數據過濾器你好,
我想要一個複選框,用戶可以在其中選擇查看資料的選項。 我嘗試使用函數,但我的程式碼中似乎有些東西不正確。 您能給建議嗎?
Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
check Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
消費者與市場研究實驗設計回覆:複選框資料過濾器你好@傑基_ - 不可見選項實際上只對全域過濾器有用。此選項完全刪除了資料過濾器的顯示元件,但本機篩選器根據報告中的位置來決定要過濾哪些報告。您可以透過其他方式隱藏過濾器,例如在腳本的初始版本中使用的原始可見性選項:
lb << Visibility("Collapse");回覆:複選框資料過濾器@danschikore @jthi
我修改了程式碼,並添加了呼叫函數,以便清晰。 如果我將資料過濾器設為不可見,它不會過濾行。 我不確定出了什麼問題。 我還附上了數據表
這是它的樣子
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Graph with filter",
modal,
Data Filter Context Box(
H List Box(
V List Box(
Text Box( "Select Bins:" ),
Radio Box(
{"1", "2", "N", "A","B","All"},
<<SETFUNCTION></SETFUNCTION>回覆:複選框資料過濾器你好@傑基_ - 如果您使用內建單選框顯示模式,請新增「未選擇」選項來選擇所有等級。這是列過濾器開始時的狀態,也是您清除過濾器項目時它們回傳的狀態。當篩選項目為「清除」時,它不參與篩選,並且儲存的腳本不包含該列的Where 子句。
如果您需要從自訂篩選器顯示執行此操作,則呼叫 <回覆:複選框資料過濾器
問題很可能出在 where 子句上,我建議添加對複選框的引用以幫助您進行調試並查看其行為方式,然後嘗試讓函數在函數之外工作。 當你按照你想要的方式進行後,然後嘗試在函數內實現它。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Time Series/Raleigh Temps.jmp");
New Window("Graph with filter",
Data Filter Context Box(
H List Box(
V List Box(
Text Box("Enter month:"),
cb = Check Box({"1", "2", "3"}, // add reference here for easier debugging
<<SET></SET>
如果您可以在此處使用隱藏和排除(或行狀態),那麼它會比使用本機資料過濾器容易得多,但這並不總是可行
回覆:複選框資料過濾器@danschikore非常感謝!
快速問題-我想在單選框“顯示全部”中添加一個選項,它將顯示所有月份的數據。 有什麼建議麼?
回覆:複選框資料過濾器一般來說,我認為在將訊息發送到資料過濾器之前,最好充分評估Where子句中恆定的表達式。在這個小摘錄中,我還從複選框切換到單選框。複選框的問題是您可以選擇過濾器中實際不可能的範圍(選擇 1,3,但不能選擇 2)。
radio Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
您可以考慮將本範例中月份編號的建模類型變更為名義/序數(在資料表中或僅用於篩選器,在紅色三角形選單中)。這將為您提供支援複選框類型行為的Where子句的更大靈活性,或者您可以簡單地使用過濾器的內建複選框和單選框模式。這是 JMP 16 範例:
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
dt << Graph Builder(
Size( 400, 563 ),
Show Control Panel( 0 ),
Variables(
X( :"Month/Year"n ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :Month Number ),
Modeling Type( :Month Number, Nominal ),
Where( :Month Number == {1, 3} ),
Display(
:Month Number,
N Items( 5 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
)
);