JMP排序視窗如何將升序和降序排列的值從按鈕傳遞到列列錶框(ListBoxBox?),再傳遞到確定按鈕?
我需要在報表中為資料表建立一個自訂排序窗口,並限制其排序選項。我已經找到了大部分方法,可以從頭開始建立排序窗口,也可以從 JMP 排序窗口入手。下面是一個使用後者的範例。
How do I get order_list == ????????; from the Sort Window?
使用「取得項目」功能可以輕鬆設定排序依據的欄位。如何取得列列錶框中資料類型和列名前面顯示的升序和降序圖示對應的排序方向?

以下是一個範例程式碼。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
sort_window[1][1][1][3][1] << Delete Box();
sort_window[1][1][1][2][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][5] << Delete Box();
sort_window[1][1][1][2][3][1][4] << Delete Box();
sort_window[1][1][1][2][3][1][3] << Delete Box();
sort_window[1][1][1][2][3][1][2] << Delete Box();
sort_window[1][1][1][2][3][1][1] << Delete Box();
sort_window[1][1][1][2][2][2] << Delete Box();
selected_column_box = sort_window[1][1][1][2][2][1][1][2];
sort_window[1][1][1][2][3][1] << append( Button Box( " OK ",
Print("OK clicked");
sel_list = selected_column_box << Get Items;
sel_string = sel_list[1];
For( i = 2, i <= N Items(sel_list), i++,
sel_string = sel_string || ", " || sel_list[i]
);
//// For Testing
// order_list = {"Ascending", "Ascending"};
order_list == ????????;
order_string = order_list[1];
For( i = 2, i <= N Items(order_list), i++,
order_string = order_string || ", " || order_list[i]
);
sort_statement = "dt << Sort( By(^sel_string^), Order(^order_string^), Replace Table);";
Eval Insert Into( sort_statement );
Eval( Parse( sort_statement ) );
, <
<SET icon=""></SET>
Thanks for any suggestions.
<BR />
感謝 JMP 技術支持部門的 Wendy Murphrey 給我建議,幫助我做我想做的事。
儘管我仍然對了解排序窗口的元素如何訪問升序和降序感興趣,但我不需要它。 任何對這個問題有答案的人,請隨時告訴我。
儘管如此,我的目標是對報告選項卡中的表格進行排序。 這些錶鍊接到實際完成排序的不可見表。 但是,我必須強制替換錶格,以便用戶在處理報告時不會創建大量未跟踪的表格。
拋開所有報告創建和管理選項卡中的報告表,這裡是對應該適用於我們的報告表的排序背景不可見表的核心的更新。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Sort(dt);
sort_window = Get Window( "Sort" );
// For stability, collapse, don't delete window elements
sort_window[1][1][1][3][1] << Visibility( "Collapse" );
sort_window[1][1][1][2][3][1][4] << Visibility( "Collapse" );
sort_window[1][1][1][2][2][2] << Visibility( "Collapse" );
sort_window[1][1][1][2][1][2] << Visibility( "Collapse" );
sort_window << OnClose(
dt1 = Get Data Table( 1 );
// Include name check in case users figure out a way
// to replace tables themselves, despite collapsing that option above
old_name = dt << Get Name();
new_name = dt1 << Get Name();
if( new_name != old_name,
dt << Update( With( dt1 ) );
Close(dt1, "No Save")
);
);