在 for 循环中更改过滤器你好,
我尝试使用 For 循环在 JMP 中进行一些分析,每次都会过滤一系列行以进行此分析。我的代码类似于下面的代码片段。问题是过滤器在每次迭代中都不会改变,并且过滤器仅在第一次实施。我试图通过阅读 JMP 帮助 PDF 来找出解决方案,但都没有帮助。
dt = Open(path to the file);
For( i = 1, i <= 10, i++,
df = dt << Data Filter(Invisible, Mode( Show( 1 ), Include( 1 ) ),
Add Filter( Columns( Tester ), Where( Tester = testerNames[i] ) ) );
Some analysis
print the report
);
质量与工艺工程回复:在 for 循环中更改过滤器将过滤器移出 for 循环并使用 << Where 更改过滤器值
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
df = dt << Data Filter(
Mode(Show(1), Include(1)),
Add Filter(Columns(:Name))
);
names = Associative Array(:name) << get keys;
For(i = 1, i <= 10, i++,
df << (Filter Column(:name) << Where(:name == names[i]));
wait(1);
);回复:在 for 循环中更改过滤器@jthi回答了你的问题,但我想知道这是否是最好的方法。 您正在编写分析脚本,以便可以直接使用行状态函数,而不是使用数据过滤器作为中介。 此方法将选择满足条件的行并执行分析。
我不反对你的方法,但数据过滤器对象主要用于交互式分析。 它们不是使用脚本过滤数据的唯一方法。
回复:在 for 循环中更改过滤器你好@LoglinearRange8 ,
虽然@jthi已经回答了你的问题,我认为你的代码没有按预期工作的原因之一是你没有关闭数据过滤器窗口。 如果您在 For 循环中添加一个 df<@jthi将过滤器移到 for 循环之外并且仅在 for 循环内进行选择的解决方案。
您也可以查看另一个线程@马克贝利这里这显示了如何从脚本索引编写脚本。
我也同意@马克贝利,这可能不是自动化工作流程的最佳方法。 可能有更好的方法来执行数据分析。
希望这可以帮助!,
DS