複数のパラメーターとグループのループ内に2変量および変動チャートを並べて作成する何をする必要があるのかはわかりますが、どのように実装するのかわかりません。 私はこのような小さなサンプルテーブル(たとえば)を持っています(4行だけを示しています)
dt
グループパラメータ値クラスPhaseLabel日付
A X 2 pq z xxxxx
A Y 6 re z xxxxx
A R 2.6 uy u yyyyy
B X 4 yt z qqqqq
B R 3 er s rrrrrrr
.................................................。 ..............。
したがって、グループごとにjrn-> html(個別のhtmlファイル)を作成したいと思います。 各htmlファイルには、Vリストボックスを使用して追加されるプロットがあります。 ただし、問題は、並べて配置する必要があることです(1つの2変量と1つの変動チャート)
二変量チャートまたはバリアブチャートのいずれかを作成できますが、両方を作成することはできません。 以下にコードのスケルトンを配置します。
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番目のループ内))で、2変量チャートとvarチャートを並べたものです。 つまり、4つのグループがある場合は4つのジャーナル(htmlファイル)が必要であり、各グループに5つのパラメーターがある場合は、各htmlファイルに2列(1列目は2変量、2列目)に合計10のプロットがあります。列はVarChartと言います)。 2番目のforループ内でHBoxを使用して、2つのプロットを追加しようとしましたが、機能しませんでした。
私は本当に助けに感謝します。 他の情報が必要な場合、私はそれを提供することができます。
データ表グラフィックススクリプティングRe:複数のパラメーターとグループのループ内に2変量と変動性のグラフを並べて作成するスクリプトを少し作り直しました。あなたは私がしたことを研究する必要があります。基本的な問題は、プラットフォームで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>
スクリプトは、提供されたサンプルデータでエラーなしで機能しました。