在迴圈內為多個參數和組別並排建立雙變量和變異圖我知道可能需要做什麼,但不確定如何實施。我有一個像這樣的小樣本表(僅顯示 4 行)
dt
群組參數值類別 PhaseLabel 日期
AX 2 pq z xxxxx
AY 6 回覆 xxxxx
AR 2.6 uy u yyyyy
BX 4 yt z QQQQ
BR 3 是 s rrrrrrr
.................................................. .... ............
所以我想為我的每個群組建立 jrn-> html (不同的 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 個日誌來繪製雙變量(此處所示)或如果我想要一個Var 圖表(如果我只是將Bivariate 替換為var 圖表作為類別和階段標籤的函數)時,上面的程式碼工作得非常好)。然而,我想要的是每個組內(每個參數的第一個for 循環(第二個循環內)並排的雙變量和var 圖表。所以這意味著如果我有4 個組,那麼我應該有4 個期刊(html 檔案)和如果對於每個組來說我有5 個參數,那麼在每個html 檔案上,我將在2 列中總共有10 個圖(第一列是雙變量,第二列是變數圖),我嘗試在第二個for 迴圈中使用H Box 並嘗試。
我將非常感謝幫助。如果需要任何其他資訊我可以提供。
品質和工藝工程回复:在循環內為多個參數和組並排創建雙變量和變異性圖表謝謝,吉姆。 是的,我測試了我的真實數據。 它就像魅力一樣奏效。 學到了新東西!回复:在循環內為多個參數和組並排創建雙變量和變異性圖表讓我檢查一下真實數據,我會盡快回來。 非常感謝吉姆。 你總是很棒!回复:在循環內為多個參數和組並排創建雙變量和變異性圖表我對你的腳本做了一些修改。您將需要仔細研究我所做的事情。基本問題是,當您在平台上使用 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>
該腳本對您提供的示例數據沒有錯誤。