for 루프에서 필터 변경안녕,
For Loop를 사용하여 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
);
품질 및 공정 엔지니어링Re: for 루프에서 필터 변경for 루프 외부로 필터를 이동하고 << 필터 값을 변경할 위치를 사용합니다.
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);
);Re: for 루프에서 필터 변경@jthi 귀하의 질문에 답변했지만 처음부터 이것이 최선의 접근 방식인지 궁금합니다. 데이터 필터를 중개자로 사용하는 대신 행 상태 함수를 직접 사용할 수 있도록 분석을 스크립팅합니다. 이 접근 방식은 기준을 충족하는 행을 선택하고 분석을 수행합니다.
귀하의 접근 방식에 반대하지는 않지만 데이터 필터 개체는 주로 대화형 분석을 위한 것입니다. 스크립트로 데이터를 필터링하는 유일한 방법은 아닙니다.
Re: for 루프에서 필터 변경안녕 @LoglinearRange8 ,
하지만 @jthi 귀하의 질문에 답변했습니다. 귀하의 코드가 예상대로 작동하지 않는 이유 중 하나는 데이터 필터 창을 닫지 않았기 때문이라고 생각합니다. For 루프 내에 df< @jthi 의 솔루션은 for 루프 외부로 필터를 이동하고 for 루프 내부에서만 선택 항목을 갖도록 합니다.
에서 다른 스레드를 살펴볼 수도 있습니다. @Mark_Bailey 여기 스크립팅 인덱스에서 스크립팅하는 방법을 보여줍니다.
저도 동의합니다 @Mark_Bailey , 이것은 워크플로 자동화를 위한 최선의 접근 방식이 아닐 수 있습니다. 데이터 분석을 수행하는 더 좋은 방법이 있을 수 있습니다.
도움이 되었기를 바랍니다!,
DS