<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
自从我的最后的问题A很少天我有来A小的更远和我的脚本。
为了完成第一步,我想将报告(在 3 个窗口中)合并到一个报告(1 个窗口)中。
我怎样才能做到这一点 ... 参见第 51 行 ff
如何保存此报告自动命名为数据文件名(前 10 个字符)和 _Baseline(如果选择多于一个月)或 _Monthly(选择月份)? ...参见第 33-40 行
我的脚本:
清除日志();
清除全局变量();
data_file= Pick File("选择数据库");
dt_data= 打开( data_file, 不可见);
spec_file= 选择文件("选择规格文件");
dt_spec = 打开(spec_file,不可见);
//dt_ssum= 新表("统计摘要", 不可见);
specColName = dt_spec << GetColumnNames( 数字, 字符串 );
dataColName = dt_data << GetColumnNames( 数字, 字符串 );
规格表达式 = 表达式(
列( dt_data, 名称 ) << 设置属性(
“规格限制”,
{LSL( Expr( 下 ) ), USL( Expr( 上 ) )}
);
);
For( i = 1, i <= N 行( dt_spec ), i++,
名称 = 列( dt_spec, "进程" ) ;
下=列(dt_spec,“LSL”) ;
上层 = Column( dt_spec, "USL" ) ;
If( 包含( dataColName, 名称 ),
评估(评估表达式(specExpr))
);
);
当前数据表(dt_data);
新窗口("选择一个月", <
V 列表框(
文本框(“或全部基线”),
mon = 列表框(:阶段 << 获取值),
按钮框(“确定”, cho = mon << 被选中),
)
);
dt_data << 选择其中(包含(cho, :Stage));
如果 (
cho [1] == "基线",
dt_data << 删除行,
dt_data << 反转行选择;
dt_data << 删除行;
);
对于 (k = 1, k <= N 项(dataColName),k++,
cc = dt_data << 控制图(
团体人数( 1 ),
克西格玛( 3 ),
图表栏(
数据列名,
单独测量(测试 1( 1 )、测试 2( 1 )、测试 3( 1 ) )、
移动范围,
能力(
分配(
连续分布(
列(数据列名称),
分位数( 0 ),
水平布局( 0 ),
直方图( 0 ),
垂直( 0 ),
离群值箱线图( 0 ),
摘要统计 (1), // 无功能
正态分位数图( 0 ), // 无函数
PpK 能力标签( 1 ),
能力分析,
)
)
)
),
发送至报告(
派遣(
{“化验的单独测量”},
《IM IR图》,
框架盒( 2 ),
{帧大小( 75, 162 )}
),
派遣(
{“测定的移动范围”},
“MR IR 图”,
框架盒( 2 ),
{帧大小( 75, 162 )}
),
派遣(
{“能力分析”},
“长期西格玛”,
大纲框,
{关闭(1)}
),
派遣(
{“能力分析”},
“控制图西格玛”,
)
)
)
);
// 创建并保存包含 LSL、USL、UCL、AVG、LCL 的新表
// 汇总统计、CP、CPK、CPL、CPU、Sigma(控制图 Sigma)
ccr = cc << 报告;
ccr << 显示树结构();
//ccr[StringColBox(1)]
//ccr[NumberColBox(1)]
//ccr[框架框(2)]
//ccr[StringColBox(7)]
//ccr[NumberColBox(9)]
//ccr[文本框(6)]
感谢您的帮助
组合 Windows 实际上是组合原始报告的 <回复:jsl:如何将多个报告合并为一个
嗨大卫,
感谢您使用“容器”和“内容”的示例......它更有意义。
我有一个问题:对于新窗口“演示”,为什么我看不到它在“窗口”->“合并窗口”中列为可供选择的选项?
谢谢。
德尔奇赫
这里似乎有3个问题。
以下是将输出组合到单个窗口中的一些示例代码:
dt =打开( “$SAMPLE_DATA/半导体能力.jmp” ) ;
西北=新窗户( “演示” ,
容器= V 列表框()
) ;
为了(我= 5 ,我< 8 ,我++,
内容= V 列表框(
dt <<控制图(
图表栏(柱子(我) , X吧) ,
标签样本( :晶圆) ,
克西格玛( 3 )
)
) ;
容器<<附加(内容)
) ;
关于自动保存报告,我将尝试回答,而无需弄清楚代码的详细信息。有两个方面 - 如何获得正确的名称以及如何进行保存。您想要从多个组件中派生名称 - 表名称和基线。我还没有详细了解基线的含义,但原则是使用字符操作。如果你想要表名的前 10 个字母,你可以这样写:
表名= dt_数据<<获取姓名;
简称=左边(表名, 10 ) ;
在构造另一个表示基线信息的字符串(例如 strBaseline)的基础上,您可以构造一个文件名,例如
文件名=简称|| “_” ||基线|| “.pdf” ;
然后要自动保存报告,您可以编写如下内容:
西北<<保存PDF (文件名);
如果您想将其另存为 JMP 报告,我不确定如何或是否可以自动完成,但您可以将其另存为日记:
文件名=简称|| “_” ||基线|| “.jrn” ;
西北<<保存日记(文件名);
- 戴夫