2열 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?안녕,
여러 개의 X와 Y 목록이 있는 여러 t-테스트를 실행하고 싶었습니다. 스크립트를 사용하여 이를 수행할 수 있는 방법이 있습니까? 1개의 열 전환기에 사용하는 스크립트를 약간 수정했지만 동시에 두 가지를 모두 수행하는 방법을 알 수 없습니다. 예를 들어 다음과 같은 소규모 테스트(3x3)는 다음과 같습니다.
Oneway(
Y(:Name("A")),
X(:Name("1")),
t Test(1),
Column Switcher(:Name("A"), {:Name("A"), :Name("B"), :Name("C")}),
Column Switcher(:Name("1"), {:Name("1"), :Name("2"), :Name("3")})
);
rpt = Current Report();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox(1)] << get scriptable object;
colswitch_list = colswitcher_obj << get list;
/* Loop through each column in the colswitch_list */
For(i = 1, i <= N Items(colswitch_list), i++,
/* Change here */
dt1 = rpt[Outline Box("t Test")][Table Box(1)] << make combined data table;
/* Concatenate the tables */
If(i == 1,
main_tb = dt1;
main_tb << Set Name("All");
,
Try(main_tb << Concatenate(dt1, Append to First Table));
Close(dt1, No Save);
);
/* Close temporary tables and switch next column */
colSwitcher_obj << Next;
);
자동화 및 스크립팅Re: 2개의 컬럼 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?루프 내에서 잘못된 열 전환기 개체 참조를 사용하고 있습니다(N 항목(colswitch_list2)이 있는 내부 루프는 colSwitcher_obj2 << Next를 변경해야 함).

또한 사용

JSL을 JMP 커뮤니티에 게시하면 게시물을 훨씬 쉽게 읽을 수 있습니다.
Re: 2개의 컬럼 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?실제로 당신 말이 맞습니다. 이제 10x10 열에 대해 완벽하게 작동합니다(아래 스크립트 참조).
하지만 Y 열과 X 열의 수가 정확히 같지 않으면 전환이 작동하지 않는 문제가 있습니다! 내가 뭘 잘못하고 있는지 아시나요?
// 분석 및 열 전환기
일방 통행(
Y(:이름("553")),
X(:이름("1")),
t 테스트(1),
열 전환기(:Name("1"), {:Name("1"), :Name("2"), :Name("3"), :Name("4"), :Name("5" ), :이름("6"), :이름("7"), :이름("8"), :이름("9"), :이름("10")}),
열 전환기(:Name("553"), {:Name("553"), :Name("554"), :Name("555"), :Name("556"), :Name("557" ), :이름("558"), :이름("559"), :이름("560"), :이름("561"), :이름("562")}));
//보고서 생성
rpt = 현재 보고서();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox( 1 )] << 스크립트 가능한 개체 가져오기;
colswitcher_obj2 = rpt[ColumnSwitcherCOntextOutlinebox( 2 )] << 스크립트 가능한 개체 가져오기;
colswitch_list = colswitcher_obj << 목록 가져오기;
colswitch_list2 = colswitcher_obj2 << 목록 가져오기;
// 각 Y 변수를 반복합니다.
For(j = 1, j <= N 항목(colswitch_list), j++,
// 각 X 변수를 반복합니다.
For(k = 1, k <= N 항목(colswitch_list2), k++,
/* 여기서 변경하세요 */
dt1 = rpt[Outline Box( "t Test" )][Table Box( 1 )] << 결합된 데이터 테이블 만들기;
/* 테이블 연결 */
If(j == 1 & k == 1,
main_tb = dt1;
main_tb << 이름 설정( "모두" );
,
Try( main_tb << 연결( dt1, 첫 번째 테이블에 추가 ) );
닫기( dt1, 저장 안함 );
);
// 다음 X 열로 전환
colSwitcher_obj << 다음;
기다려(0);
);
// 다음 Y 열로 전환
colSwitcher_obj2 << 다음;
기다려(0);
);
Re: 2개의 컬럼 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?귀하의 데이터에 대해 아무것도 모르면 말하기가 어렵습니다. 예를 들어 열 중 하나에 엄청난 양의 범주가 있어 문제를 일으키는 문제가 발생할 수 있습니다. 어쩌면 wait(0);을 추가할 수도 있습니다. 각 << next 다음에 약간의 도움이 될 수 있지만 스크립트는 여전히 매우 느릴 것입니다.
또한 적어도 k 변수에 대해 잘못된 최대 개수를 사용하고 있다고 생각합니다(N 항목(col_switch_list2)이 아니어야 함).
Re: 2개의 컬럼 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?다음 스크립트로 문제를 해결했지만 전체 데이터베이스에서 실행하면 JMP가 충돌합니다(메모리 문제라고 가정합니다). 메모리 문제를 어떻게 해결할 수 있을까요?
일방 통행(
Y( :이름( "A" ) ),
X( :이름( "1" ) ),
t 테스트( 1 ),
열 전환기( :Name( "1" ), {:Name( "1" ), :Name( "2" ), :Name( "3" )} ),
컬럼 전환기(
:이름( "A" ),
{:이름( "A" ), :이름( "B" ), :이름( "C" )}
)
);
rpt = 현재 보고서();
colswitcher_obj = rpt[ColumnSwitcherCOntextOutlinebox( 1 )] << 스크립트 가능한 개체 가져오기;
colswitcher_obj2 = rpt[ColumnSwitcherCOntextOutlinebox( 2 )] << 스크립트 가능한 개체 가져오기;
colswitch_list = colswitcher_obj << 목록 가져오기;
// 각 Y 변수를 반복합니다.
For(j = 1, j <= N 항목(colswitch_list), j++,
// 각 X 변수를 반복합니다.
For(k = 1, k <= N 항목(colswitch_list), k++,
/* 여기서 변경하세요 */
dt1 = rpt[Outline Box( "t Test" )][Table Box( 1 )] << 결합된 데이터 테이블 만들기;
/* 테이블 연결 */
If(j == 1 & k == 1,
main_tb = dt1;
main_tb << 이름 설정( "모두" );
,
Try( main_tb << 연결( dt1, 첫 번째 테이블에 추가 ) );
닫기( dt1, 저장 안함 );
);
// 다음 X 열로 전환
colSwitcher_obj << 다음;
);
// 다음 Y 열로 전환
colSwitcher_obj2 << 다음;
);
Re: 2개의 컬럼 전환기에 대한 보고서를 동시에 생성할 수 있는 방법이 있습니까?이를 위해 컬럼 스위처를 사용하는 특별한 이유가 있나요? 열을 반복하면서 보고서를 다시 만들고 결과를 추출할 수 있습니다.