从一页上的“按列”导出所有控制图,以便导出到 powerpoint你好,
我有一个脚本,使用脚本中的“按”部分为 20 个独立的地下水监测井制作 6 个控制图。 我想在脚本的末尾添加内容,这样我就可以在 powerpoint 演示文稿的一页上打印每个单独监控位置的 6 个控制图,结果是一个 20 页长的 powerpoint 演示文稿,每页有 6 个图表。 我正在寻求一些关于从哪里开始执行此任务的建议? 这是我用来制作图表的脚本:
Control Chart Builder(
Show Capability( 0 ),
Variables(
Subgroup( :SAMPLE_DATE ),
Y(
:Chloride,
:Cl_TDS,
:Sodium,
:Total Dissolved Solids,
:Sulphate,
:Calcium
),
),
By(:LOC_NAME)
);
谢谢你!
分享和交流结果回复:从一页上的按列导出所有控制图以导出到 powerpoint@tx尼尔森谢谢你的剧本! 那是完美的。 我能够修改一部分,以便将每个样本的全部 6 个图表保存在一张幻灯片上。 我真的很感谢你的帮助,我在阅读剧本时很享受学习的过程。
再次感谢!
回复:从一页上的按列导出所有控制图以导出到 powerpoint下面是一个从示例数据表创建 PowerPoint 输出的脚本

Names Default To Here( 1 );
dt = Current Data Table();
// Get a list of the LOC_Name's that are in the data
Summarize( dt, bygroup = by( :LOC_Name ) );
// Create a display window to put the graphs into
Nw = New Window( "Control Charts" );
// Loop across all of the LOC_Name's creating the six control
// charts
For( i = 1, i <= N Items( bygroup ), i++,
// Create the Outline Box to hold the 6 charts
ob = Outline Box( "Control Charts for LOC_Name=" || byGroup[i] );
// Create a display box of three objects wide
// With the 6 control charts, it will make it a
// 2 row 3 column output
lub = Lineup Box( N Col( 3 ) );
// Create the 6 charts
ccb = dt << Control Chart Builder( invisible,
Show Capability( 0 ),
Show control panel( 0 ),
Variables(
Subgroup( :SAMPLE_DATE ),
Y(
:Chloride,
:Cl_TDS,
:Sodium,
:Total Dissolved Solids,
:Sulphate,
:Calcium
)
),
show limit summaries( 0 ),
where( :loc_name == Eval( bygroup[i] ) )
);
// Loop across the output pulling out the 6 Picture Boxes
// that contains the desired output for each control chart
// and add them to the Lineup Box
For( k = 1, k <= 6, k++,
lub << append( Report( ccb )[Picture Box( i )] )
);
// Close the no longer needed Control Chart Builder window
Report( ccb ) << close window;
// Add the contents of the Line Up Box to the Outline Box
// but make it a single object so when saved to pptx it will
// be treated as a single graph
ob << append( lub << get picture );
// Add the current outline box to the display window
nw << append( ob );
);
// Save the graphs to PowerPoint
nw << save presentation( "$TEMP/myppt.pptx" );
// Display the PowerPoint output
Open( "$TEMP/myppt.pptx" );
请花时间研究脚本,以便您了解我所采用的方法,以便您可以进行任何所需的调整。脚本指南中有关显示树的部分将向您介绍我如何分离输出并将其重新构建为新的显示格式的背景知识。
回复:从一页上的按列导出所有控制图以导出到 powerpoint你好,
我正在寻找它们基本上可以转置。 参见附图。 因为那时我会将每组 6 个图表导出为一个 jpg 并插入到 powerpoint 中。 看看 LOC_NAME = 00-15A 有六个图,然后下一组六个图是 LOC_NAME = 0016A。
回复:从一页上的按列导出所有控制图以导出到 powerpoint这是你想要的?

Names Default To Here( 1 );
dt = Current Data Table();
Summarize( dt, bygroup = by( :LOC_Name ) );
Nw = New Window( "Control Charts", lb = Lineup Box( N Col( 2 ) ) );
For( i = 1, i <= N Items( bygroup ), i++,
vlb = V List Box(
dt << Control Chart Builder(
Show Capability( 0 ),
Show control panel( 0 ),
Variables(
Subgroup( :SAMPLE_DATE ),
Y( :Chloride, :Cl_TDS, :Sodium, :Total Dissolved Solids, :Sulphate, :Calcium )
),
show limit summaries( 0 ),
where( :loc_name == Eval( bygroup[i] ) )
)
);
lb << append( vlb );
);回复:从一页上的按列导出所有控制图以导出到 powerpoint你好,
谢谢你的主意。 我对脚本进行了一些更改以包含阵容框。 起初,我尝试在“by”列中使用多个唯一名称。 然而,它在第二列中放置了不同的样本,而不是将每个唯一名称的 6 个图表分成 2 列,每列 3 个。 参见附图。
因此,我再次尝试仅使用一个唯一值,看看它是否会将六个图表分成两列,并导出一列六个图表中的一个唯一值。 它仍然没有分成两列。 我究竟做错了什么?
这是脚本的一部分。
Nw = New Window( "Control Charts",
Lineup Box( N Col( 3 ),
Control Chart Builder(
Show Capability( 0 ),
Variables(
Subgroup( :SAMPLE_DATE ),
Y(
:Chloride,
:Cl_TDS,
:Sodium,
:Total Dissolved Solids,
:Sulphate,
:Calcium
),
),
SendToReport(
Dispatch( {}, "Chloride Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Cl_TDS Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Sodium Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {},
"Total Dissolved Solids Limit Summaries",
OutlineBox,
{Close( 1 )}
),
Dispatch( {}, "Sulphate Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Calcium Limit Summaries", OutlineBox, {Close( 1 )} )
),by(:LOC_NAME);
);
);
);如果有帮助的话,我还提供了我的数据集的示例。
感谢您的帮助。
回复:从一页上的按列导出所有控制图以导出到 powerpoint这是我用来创建多列输出的方法之一
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Nw = New Window( "Control Charts",
Lineup Box( N Col( 2 ),
Control Chart Builder(
Show Capability( 0 ),
Variables( Y( :height, :weight ) ),
by( :age )
)
)
);
回复:从一页上的按列导出所有控制图以导出到 powerpoint你好!
感谢你的回复。 我观看了视频,它为我提供了将控制图放入 powerpoint 并自动更新的正确信息。 这绝对有帮助。 我现在已经添加到我的脚本中,将每组控制图保存为特定文件夹中的 jpg,并且我将按照您所说的将它们插入到 powerpoint 中(带有链接)。 然而,我的最后一个难题涉及将我的 jpg 中的图表排列成三个横向、两个向下。 目前他们正在导出 6 个下来,这在幻灯片上看起来不太好。参见附图。
感谢您的帮助!
ccb = dt << Control Chart Builder(
Show Capability( 0 ),
Variables(
Subgroup( :SAMPLE_DATE ),
Y(
:Chloride,
:Cl_TDS,
:Sodium,
:Total Dissolved Solids,
:Sulphate,
:Calcium
),
),
SendToReport(
Dispatch( {}, "Chloride Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Cl_TDS Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Sodium Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {},
"Total Dissolved Solids Limit Summaries",
OutlineBox,
{Close( 1 )}
),
Dispatch( {}, "Sulphate Limit Summaries", OutlineBox, {Close( 1 )} ),
Dispatch( {}, "Calcium Limit Summaries", OutlineBox, {Close( 1 )} )
),
By(:LOC_NAME)
);
for(c=1, c<=NItems(ccb), c++,
thisrep = Report(ccb[c]);
firstOB = thisrep[OutlineBox(1)];
thistitle = firstOB << getTitle;
firstOB << save picture ("desktop/"||thistitle);
);回复:从一页上的按列导出所有控制图以导出到 powerpoint你好,
几个月前,我录制了掌握 JMP 课程,其中演示了如何自动将报告保存到 PowerPoint(掌握 JMP 分享您的结果,33:30 开始)。这可能是一个很好的起点。请看一下并告诉我这是否为您指明了正确的方向。