Re: 如何在應用程序中對數據表進行排序?我不確定我是否正確理解了您的問題,您的腳本似乎在第 2 行和“<<”中不包含某些字符 (")"。
sortThisData = Function( {dt},
Try( newdt = dt << Sort( By( Column( snCol ), Column( dtCol ) ), Replace Table ), );
/* IF thrown */
if(contains(exception_msg[1], "JMP cannot replace the existing table"),
ex = New Window( "Alert",
<<MODAL></MODAL>Re: 如何在應用程序中對數據表進行排序?你好,
不確定缺少字符是什麼意思。 但無論如何,即使將對上述函數的調用替換為簡單的排序表,問題也是一樣的:
DataTable1 << Sort (By( Column(snCol), Column(dtCol)), Replace Table);
我收到以下警報,即使 DataTable1 的唯一打開窗口是調用 Sort 函數的應用程序。

Re: 如何在應用程序中對數據表進行排序?對不起,我誤解了你想做什麼。 在 Application Builder 中對數據表進行排序似乎並不容易。
這不是一個聰明的解決方案,您可以先複製一個數據表,然後對數據表進行排序。 它創建另一個數據表,當它不被使用時,你應該關閉一個表。
original_dt = Current Data Table();
dt = original_dt << Subset( All rows, Selected columns only( 0 ), Link to original data table( 0 ), invisible );
dt << Sort( By( Column( dt, snCol ), Column( dt, dtCol ) ), Replace Table )
如何在應用程序中對數據表進行排序?我使用 JMP 應用程序生成器編寫了一個相當複雜的 JSL 應用程序。 應用程序啟動器提示用戶選擇列,然後我按所選列對數據進行排序,然後再繼續處理和可視化。
如果數據集具有依賴的打開窗口,我需要為用戶提供繼續而不排序的選項(數據可能已預先排序)或退出腳本以讓用戶處理依賴的窗口。為此,我創建了以下函數:
sortThisData = Function ({dt},
try( dt << Sort (By( Column(snCol), Column(dtCol)), Replace Table) ,
/* IF thrown */
if (contains(exception_msg[1], "JMP cannot replace the existing table"),
ex = New Window( "Alert", <<MODAL></MODAL>
然而,似乎應用程序本身算作一個依賴的打開窗口! 即使沒有其他窗口打開,我也無法對數據進行排序。
如何規避此問題並對數據進行排序? 我已經移動了調用 SORT 函數的時間,但它需要在按下啟動器上的“確定”按鈕之後和處理/可視化完成之前發生。
有什麼建議麼?
自動化和腳本編寫質量和工藝工程