通过循环组合图形窗口嗨,
我有一长串的响应变量列表,我想将它们分组在单独的窗口中,其中每个窗口都是预定义的类别。然后我想组合所有报告(图形窗口)并创建仪表板。当我转到Window - >组合Windows(我以前用过不同的目的)时,报告不会列为组合选项。有人可以帮忙吗?
下面是我用于生成带有示例数据表的图形的JMP脚本。对于此示例,假设我们需要为每个航空公司设置单独的图形窗口。
谢谢。
Derchieh
Names Default to Here(1);
sourcedt = Open("$SAMPLE_DATA\Airline Delays.jmp");
dt = sourcedt << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Value" )
);
Summarize(dt, al = By(:Airline));
Summarize(dt, mon = By(:Month));
Summarize(dt, para = By(:Label));
For (j = 1, j <= NItems(al), j++,
New Window( al[j],
V List Box(
For (i = 1, i <= NItems(para), i++,
Graph Builder(
Size(230, 300),
Fit to Window( "Off" ),
Show Control Panel(0),
Variables( X( :Month ), Y( :Value ), Overlay( :Day of Week ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Where( :Airline == al[j] & :Label == para[i] ),
SendToReport(
Dispatch(
{},
"Value",
ScaleBox,
{Min( -10 ), Minor Ticks( 0 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( para[i] )} )
)
) << report;
)
)
)
);
Re:通过循环组合图形窗口非常感谢你的回复!我现在明白了。谢谢!
Re:通过循环组合图形窗口您遇到的问题是您没有保存指向您创建的不同窗口的指针。 我已经修改了你的脚本(见下文),将你创建的6个窗口的引用保存到名为“alWindowList”的列表中。 它包含指向窗口的六个指针。 它可以在组合窗口中用于将窗口连接在一起。
我还在你的脚本中注意到,航空公司和标签的显示没有以有意义的方式显示,所以我也修改了脚本以强制代码使用实际值,而不是al [j]和para [我]显示。
Names Default To Here( 1 );
sourcedt = Open( "$SAMPLE_DATA\Airline Delays.jmp" );
dt = sourcedt << Stack(
columns( :Elapsed Time, :Arrival Delay, :Distance ),
Source Label Column( "Label" ),
Stacked Data Column( "Value" )
);
Summarize( dt, al = By( :Airline ) );
Summarize( dt, mon = By( :Month ) );
Summarize( dt, para = By( :Label ) );
alWindowList = {};
For( j = 1, j <= N Items( al ), j++,
nw = New Window( al[j],
V List Box(
For( i = 1, i <= N Items( para ), i++,
Eval(
Substitute(
Expr(
Graph Builder(
Size( 230, 300 ),
Fit to Window( "Off" ),
Show Control Panel( 0 ),
Variables( X( :Month ), Y( :Value ), Overlay( :Day of Week ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
Where( :Airline == __al__ & :Label == __para__ ),
SendToReport(
Dispatch( {}, "Value", ScaleBox, {Min( -10 ), Minor Ticks( 0 )} ),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( para[i] )} )
)
) << report
),
Expr( __al__ ), al[j],
Expr( __para__ ), para[i]
)
)
)
)
);
Insert Into( alWindowList, nw );
);Re:通过循环组合图形窗口嗨txnelson,
我必须为不同的上下文重用这个(类似的)代码,但它似乎不再起作用了。也就是说,窗口标题不会显示在“组合窗口”列表中,也不会显示为要添加到仪表板的可用报告。我重新运行下面的代码,存在同样的问题。我们最近升级到14.2 .....这可能是问题吗?
非常感谢。
Derchieh