回复:使用 JSL 在一份报告中保存多个图表的摘要右键单击其中一个汇总表并选择“制作成组合表”。 那对你有用吗?
回复:使用 JSL 在一份报告中保存多个图表的摘要感谢您的建议!
我实际上并没有为此使用汇总表,我正在尝试使用 JSL 在控制图生成器上使用“保存汇总”按钮。 我需要保存单个报告选项卡中存在的许多图表的摘要。 如果我可以提供有关此的任何进一步信息,请告诉我,谢谢!
回复:使用 JSL 在一份报告中保存多个图表的摘要是否要保存显示在控制图右侧的所有汇总? 您是否希望将摘要一起放在一个数据表中?

我之前的建议是将所有这些信息放在一个数据表中,在我的示例中如下所示:

此代码说明了如何通过脚本实现此结果:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
ccb = dt << Control Chart Builder( Variables( Y( :height, :weight ) ), Show Control Panel( 0 ) );
summary = Report( ccb )[TableBox(1)] << Make Combined Data Table;
回复:使用 JSL 在一份报告中保存多个图表的摘要@马克贝利这次真是万分感谢! 我发现这对于在一个报告中获取多个图表的整个图表的摘要非常有帮助。 但是,如果可能的话,我希望能够获得每个图表上每个点的摘要。 使用所附图像中的按钮时它的工作原理。
使用 JSL 可以做到这一点吗?
我现在看到这在使用时有效: summary = Report( ccb ) << Save Summaries;
但是,我的数据集还有另一层,这使得这不那么直接。 在我的数据集中,根据另一个表中的行数,在报告中使用的不仅仅是一个控制图生成器。 因此,当在我分配控制图生成器的对象上运行 << 保存摘要时,我只会得到最后制作的图表的摘要,而不是所有图表的摘要。 有没有办法让 JMP 查看其他图表,以便我保存这些摘要?
同时,我将尝试调整 Big Class 数据集,以更清楚地说明我想要做什么。
回复:使用 JSL 在一份报告中保存多个图表的摘要是的,这段代码是解决方案的基础:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
obj = dt << Control Chart Builder( Variables( Y( :weight, :height ) ) );
dt = obj << Save Summaries;
您是否一次为多个响应启动控制图生成器? 如果是这样,您应该为每个响应获取一个数据表。 您是否正在迭代响应并一次为一个响应启动控制图生成器?
回复:使用 JSL 在一份报告中保存多个图表的摘要嘿@马克贝利,我相信这里应该可以更好地了解我的数据是如何设置的。 我通过添加以下内容调整了 Big Class 数据集:
Names Default to Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window ("Charts",
For ( i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder( Variables( Y( :height, :weight ) ), Show Control Panel( 0 ), SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text( name || " Individual & Moving Range chart of height" )}
)
) );
); );
dt = obj << Save Summaries;添加了“新窗口”和“for”药水以反映我正在寻找的东西。 如果运行上面的代码,在“图表”窗口内是 40 个具有所有相同数据的图表。 为了我们在这里做的事情,请假设每个图表都有不同的数据,因此有不同的摘要。 当“保存摘要”在底部运行时,我没有得到所有图表的摘要,只是“图表”窗口中的最后一张图表。
我有什么办法可以让这段代码提取它运行的任何图表的摘要吗? 例如,如果我想要“图表”窗口中的 35 个图表的摘要,我可以像上面的示例一样使用 JSL 获得吗?或者我能以某种方式将它们全部拉出来吗?
如果我可以提供更多信息,请告诉我。 为了回答你之前的问题,我相信正在发生的事情是每个实例都在迭代自身,所以我无法保存变量摘要。 希望对您有所帮助,谢谢您的帮助!
回复:使用 JSL 在一份报告中保存多个图表的摘要以下是我尝试的顺序的三个建议。
您可以尝试编写脚本制作组合数据表

Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
)
);
dt_summaries = nw["Control Chart Builder", "height Limit Summaries", Table Box(1)] << Make Combined Data Table;
或者您可以在循环期间存储对这些控制图构建器的引用,然后使用保存摘要再次循环(您很可能应该在循环内保存值,然后关闭表):
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
ccb_list = {};
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
Insert Into(ccb_list, obj);
);
);
For(i = 1, i <= N Items(ccb_list), i++,
dt_temp = ccb_list[i] << Save Summaries;
show(dt_temp);
//Close(dt_temp, no save);
);
或者你可以使用 XPath 来获取引用(我会再次循环它们以避免打开太多表)
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = New Window("Charts",
For(i = 1, i <= N Row(dt), i++,
name = dt:Name[i];
obj = dt << Control Chart Builder(
Variables(Y(:height, :weight)),
Show Control Panel(0),
SendToReport(
Dispatch(
{},
"graph display 1 title",
TextEditBox,
{Set Text(name || " Individual & Moving Range chart of height")}
)
)
);
);
);
//((nw << XPath("//OutlineBox[text()='Control Chart Builder']")) << get scriptable object) << Save Summaries;
如果<< 保存摘要确实打开了多个表,您可能必须使用类似 Get Data Table List();查看哪些是新的,处理它们然后关闭它们。
回复:使用 JSL 在一份报告中保存多个图表的摘要这次真是万分感谢! 我最终使用了您发送的第二个版本,它非常适合我正在做的事情。
谢谢!
使用 JSL 将多个图表的摘要保存在一份报告中我运行了一份报告,将 2 到 26 个图表吐出到一个报告选项卡中,以便可以在一个选项卡中同时查看它们。 我想找到一种方法让它使用 JSL 导出报告中所有图表的保存摘要。 目前,我只需按住 CTRL 键并单击所附图像中的按钮,它就会将我需要的所有内容导出到许多数据表中。
有没有办法可以强制 JMP 仅使用 JSL 提取报表上的保存摘要? 将摘要一一拉入数据表中就可以了。 我见过的所有其他示例包括将控制图生成器分配给一个对象,然后保存这些摘要。 我宁愿不这样做,但如果这是我唯一的选择,我可以这样做。
谢谢!
大规模定制视窗