打開多個數據文件並使用指定的腳本運行每個文件大家好,
我有以下腳本,它將提示打開數據文件,然後在單擊“確定”框後自動運行腳本。
Names Default To Here( 1 );
New Window( "Data and Limits file",
<<MODAL></MODAL>
如果我打算打開多個數據文件(一次 2 個文件),然後運行分配給它的單個腳本,如何使用 jsl. 例如,datatable1 將與 script1 一起運行,而 datatable2 被分配與 script2 一起運行
謝謝。
回复:打開多個數據文件並使用指定的腳本運行每個文件謝謝 gzmorgan0。
我會將其設置為“use files are 1:1”,然後在每個列錶框中只允許選擇一項,即選擇一個數據文件。 您附加的腳本對我探索這個概念很有用。回复:打開多個數據文件並使用指定的腳本運行每個文件好傢伙!這種類型的界面似乎充滿了問題。 如果用戶選擇 10 個數據文件和僅 8 個腳本會怎樣,反之亦然? 如果用戶想要對一個文件運行 3 個不同的腳本(分析),或者選擇 10 個數據文件但想要對每個文件運行相同的分析,該怎麼辦?我不知道你的用例,但是,我會創建一個對話框,其中水平顯示 3 個項目:1)
/Test 中文件的選擇列表,2)一個名為“選擇”的按鈕框或“分析” ,以及3) 右側帶有腳本的選擇列表。
用戶在每一側選擇想要的文件,然後按下“選擇”按鈕。 每個選擇都會創建一個包含兩個項目的列表,一個所選數據文件的列表和一個腳本列表,並將它們存儲在另一個名為 sel_List 的列表(或其他對象、關聯數組或數據表)中。 目的是針對給定的選擇在每個數據文件上運行每個腳本。 如果您使用的文件是1:1,那麼每個列錶框中只允許選擇一個,即選擇一個數據文件,選擇一個jsl 文件,然後按“選擇”。
按“確定”將開始使用嵌套 for 循環處理每個選擇:
- For(i=1, i<=nitems(sel_List), i++,
- for(j=1, j<=nitems(sel_List[i][1]), j++, //open (sel_List[i][1][j] ); //打開一個數據表
- 對於(k=1, k<=nitems(selList[i][2]), k++,
- 包含(sel_List[i][2][k]); // 包含在當前數據表上運行
- 保存/或記錄並可能關閉分析窗口
- ); // k 結束。 通過使用 include,JSL 文件會被執行但不會打開。
- ); //end for j close(selList[i][1][j]) 關閉數據表
- ); // 結束於我
如果您使用 JMP 14,Multiple File Import() 可能會有一定用處。
我附加了一個腳本(名稱為 App,但不是插件),它沒有上述界面,但可能會給您一些關於如何創建選擇窗口的想法。 [它是為 JSL Companion 第 2 章編寫的]。
祝你好運!
如果每個文件或文件類型確實只有 1 個關聯的腳本,那麼我不會讓用戶選擇它,而是使用命名約定等構建邏輯。
無論如何,我的2分錢。