打开多个数据文件并使用指定的脚本运行每个文件大家好,
我有以下脚本,它将提示打开数据文件,然后在单击“确定”框后自动运行脚本。
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分钱。