我有一個腳本可以自動打開並連接用戶選擇的文件。基本上,每個文件對應一個單獨的製造批次。用戶運行腳本,出現一個對話框,用戶選擇他/她想要連接的所有文件。最初,可用運行列表僅來自源文件夾中的可用文件列表。但是,默認情況下,這會根據字母數字名稱對文件進行排序 - 這絕不是按時間順序排列的。我決定做的是從一個單獨的表中填充列表,並按時間順序輸入批次 ID。這沒有幫助,因為字符串仍然按字母數字順序出現。 我希望列錶框保留源表的順序,以便我可以快速僅獲取最近的運行,例如
if(
File Exists("M:\Data\prod_data.csv"),
Open("M:\Data\prod_data.csv"),
New Window("File Path Not Valid",
<< Modal,
V List Box(
Text Box ("File Not Found!")
)
)
);
Data Table( "prod_data" ) << Subset(
All rows,
columns( :Production ID ),
Output Table ("Batch List"),
);
Close (Data Table ("prod_data"), No Save);
////////////////////
Clear Symbols( UniqueRuns );
Summarize(UniqueRuns = by(:Name("Production ID")));
For( i = 1, i <= N Items( UniqueRuns ), i++,
UniqueRuns[i] = Regex( UniqueRuns[i], "offline_|.csv", "", GLOBALREPLACE )
New Window( "Select Runs", //creates a window from which users can select the runs they want to analyze by holding Ctrl or Shift
<<MODAL></MODAL>如果將“值順序”列屬性設置為“行順序級別”,則匯總將按照數據表中找到的順序返回列表
:Production ID << set property("Value Order", {Common Order( 0 ), Row Order Levels( 1 )} );