for 루프에서 지정된 페이지 열 항목을 표로 정리합니다.안녕하세요 여러분,
for 루프에서 특정 열 값을 기준으로 여러 사례를 표로 정리하려고 합니다.
categorizes = Column(dt, "Categorize");
columnValues = Associative Array(categorizes << Get Values) << Get Keys;
For(i = 1, i <= N Items(columnValues), i++,
currentItem = columnValues[i];
obLoopY = Outline Box("categorize" || Char(currentItem),
dt << Tabulate(
Page Column(:Categorize(Char(currentItem))),
Show Control Panel(0),
Add Table(
Column Table(
Grouping Columns(:Underlayer, :RefEntity),
Analysis Columns(:M3S_Y)
),
Row Table(Grouping Columns(:TargetEntity))
),
SendToReport(Dispatch({}, "", TextBox, {Set Base Font("Heading")}))
)
);
boxY << append(obLoopY);
);
문제는 currentItem에 Categorize 열의 columnValues가 포함되어 있다는 것입니다.
항목 값만 지정한다면, 예를 들어 columnValues 중 하나로 "a"를 지정해 보겠습니다.
Tabulate 메서드에 Page Column( :Categorize( "a") )을 추가했더니 작동합니다.
하지만 for 루프에서 모든 값을 실행해야 했기 때문에 Page Column( :Categorize( currentItem ) ) 으로 만들려고 했지만 작동하지 않았고 currentItem별로 나누는 대신 전체 값이 한 번에 나왔습니다.
Page Column( :Categorize( currentItem ) ), Page Column( :Categorize( char(currentItem) ) )을 시도해 보았지만 둘 다 작동하지 않았습니다. 아마도 아주 쉬운 해결책이 있을 텐데, 저는 찾지 못했습니다.
누구든지 도와줄 수 있나요?
미리 감사드립니다
편집(jthi): jsl 포맷 추가
자동화 및 스크립팅Re: for 루프에서 지정된 Tabulate 페이지 열 항목값을 평가해야 할 수도 있습니다. 아래는 JMP의 샘플 테이블을 사용한 예입니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
Summarize(dt, groups = By(:sex));
New Window("test",
collector = H List Box()
);
For Each({group}, groups,
ob = Outline Box("Categorize " || group,
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:height, :weight), Statistics(Mean)),
Row Table(Grouping Columns(:age))
)
);
Eval(EvalExpr(
tab << page column(:sex(Expr(group)));
));
);
collector << Append(ob);
);

레이아웃이 괜찮다면 By도 옵션일 수 있습니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
tab = dt << Tabulate(
Show Control Panel(0),
Add Table(
Column Table(Analysis Columns(:height, :weight), Statistics(Mean)),
Row Table(Grouping Columns(:age))
),
By(:sex),
Group Options(Layout("Horizontal List"))
);

Re: for 루프에서 지정된 Tabulate 페이지 열 항목By를 사용하면 불필요한 for 루프도 제거됩니다!