更改 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