在循环内并排创建多个参数和组的双变量和变异性图表我知道可能需要做什么,但不确定如何实施。我有一张这样的小样表(仅显示 4 行)
日期
组参数值类别PhaseLabel日期
AX 2 pq z xxxxx
AY 6 re z xxxxx
AR 2.6 已过期
BX 4 yt z qqqqq
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 图表(如果我只是将双变量替换为 var 图表作为类和阶段标签的函数)时,上述代码可以完美运行。但是,我想要的是在每个组内(每个参数的第一个 for 循环(在第二个循环内)并排的双变量和 var 图表。所以这意味着如果我有 4 个组那么我应该有 4 个日志(html 文件)并且如果每个组有 5 个参数那么在每个 html 文件中我将在 2 列中总共有 10 个图(第 1 列说双变量和第 2 列说 Var 图表)。我试图在第二个 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>
该脚本对您提供的示例数据没有错误。