여러 매개변수와 그룹에 대한 루프 내부에서 나란히 이변수 및 변동성 차트 만들기무엇을 해야 할지 아이디어는 있지만 어떻게 구현해야 할지 잘 모르겠습니다. 이와 같은 작은 샘플 테이블이 있습니다(4개 행만 표시).
디티
그룹 매개변수 값 클래스 PhaseLabel 날짜
AX 2 pq z xxxxx
AY 6 re z xxxxx
AR 2.6 uy u yyyyy
BX 4 yt z qqqqq
BR 3은 srrrrrr
................................................. ...............
그래서 저는 각 그룹(별도의 html 파일)에 대해 jrn->html을 만들고 싶습니다. 각 html 파일에는 V 목록 상자를 사용하여 추가되는 플롯이 있습니다. 그러나 문제는 나란히 있어야 한다는 것입니다(한 개의 이변량 차트와 한 개의 변동성 차트)
저는 이변량 차트나 가변량 차트를 만들 수 있지만, 둘 다 할 수는 없습니다. 저는 아래 코드의 골격을 넣었습니다.
dt = Current Data Table();
out_path = "*****"
Summarize( groupid = by(:Group));
Summarize(paramgrp = by(:Parameter));
mydf = {};
For (k=1, k<=N items(groupid),k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", myhtm[k] = V List Box() );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt_month << Bivariate(
Y( :Value),
X( :DATE),
Where( :Parameter == idname),
Where (:Group == groupname),
By(:Group :Parameter),
);
mydf[k] << append( Report( myhtm))
); ///// 2nd for loop end
jrn_df = New Window("Trend Correlation Report", << Journal) ;
mydf[k] << Journal(Freeze All) << show window(0);
jrn_df << Save HTML(outfile);
Close All (Journals, "No Save");
); 1st for loop end
이제 위의 코드는 각 그룹에 대해 1개의 저널을 갖고 이변량(여기에 표시됨)을 플롯하거나 변수 차트(클래스 및 단계 레이블의 함수로 이변량을 변수 차트로 바꾸기만 하면)를 원할 때 완벽하게 작동합니다. 그러나 내가 원하는 것은 각 그룹 내부(각 매개변수에 대한 첫 번째 for 루프(2번째 루프 내부))에 이변량 및 변수 차트를 나란히 배치하는 것입니다. 즉, 그룹이 4개이면 저널 4개(html 파일)가 있어야 하고 각 그룹에 매개변수가 5개이면 각 html 파일에 2개 열(첫 번째 열은 이변량, 두 번째 열은 변수 차트)에 총 10개의 플롯이 있어야 합니다. 2번째 for 루프 내부에 H 상자를 사용하고 두 개의 플롯을 추가하려고 했지만 작동하지 않습니다.
정말 도움을 주시면 감사하겠습니다. 다른 정보가 필요하면 제공해 드릴 수 있습니다.
품질 및 공정 엔지니어링Re: 다중 매개변수 및 그룹에 대한 루프 내부에 이변량 및 가변성 차트를 나란히 생성고마워, 짐. 예, 실제 데이터를 테스트했습니다. 매력처럼 작동했습니다. 새로운 것을 배웠습니다!Re: 다중 매개변수 및 그룹에 대한 루프 내부에 이변량 및 가변성 차트를 나란히 생성실제 데이터를 확인하고 곧 돌아오겠습니다. 정말 고마워 짐. 당신은 항상 훌륭합니다!Re: 다중 매개변수 및 그룹에 대한 루프 내부에 이변량 및 가변성 차트를 나란히 생성스크립트를 약간 수정했습니다.내가 한 일을 연구해야합니다.기본적인 문제는 플랫폼에서 BY()를 사용할 때 by의 각 수준에 대해 별도의 보고서를 생성한다는 것입니다.
작성된 스크립트는 각 그룹에 대한 저널을 생성합니다.쇼 윈도우와 저널을 html로 저장하는 것을 주석 처리했습니다.나는 이것을 했으므로 먼저 다른 저널을 보게 될 것입니다.주석을 제거하기만 하면 원하는 방식으로 작동합니다.
Names Default To Here( 1 );
dt = Current Data Table();
out_path = "*****";
Summarize( groupid = by( :Group ) );
Summarize( paramgroup = by( :Parameter ) );
mydf = {};
For( k = 1, k <= N Items( groupid ), k++,
grp_name = groupid[k];
myhtm = New Window( "30d Trend Plots Group Wise", lb = Lineup Box( N Col( 2 ) ) );
For( i = 1, i <= N Items( paramgroup ), i++,
idname = Char( paramgroup[i] );
outfile = out_path || grp_name || "_" || "trend_plots" || ".html";
df_ooc = dt << Bivariate(invisible,
Y( :Value ),
X( :DATE ),
Where( :group == grp_name ),
By( :Parameter ),
);
vc = Variability Chart(invisible,
Y( :Value ),
X( :Date ),
Std Dev Chart( 0 ),
where( :group==grp_name ),
By( :parameter )
);
// For each value in the By group, there is a separate report
theEnd=.;
try(theEnd=nitems(df_ooc)); if(ismissing(theEnd), theEnd=1);
For( rptGroup = 1, rptGroup <= theEnd, rptGroup++,
IF( theEnd == 1,
lb << append( Report( df_ooc ) );
lb << append( Report( vc ) );
,
lb << append( Report( df_ooc[rptGroup] ) );
lb << append( Report( vc[rptGroup] ) );
);
);
df_ooc << close window;
vc << close window;
); ///// 2nd for loop end
jrn_df = New Window( "Trend Correlation Report", <<JOURNAL></JOURNAL>
제공된 샘플 데이터에서 스크립트가 오류 없이 작동했습니다.