你好,
我在 JMP 中实现目标没有问题。
在 JSL 中,我可以做部分,但不希望它与数据集绑定的特定列。
最直接的是,我选择的 cols 列表不适合作为分发平台的列表进行评估,并且想要了解要更正的内容。
我已经参考了这篇文章。编写分布图中分组的多列脚本
dt = Open("$Sample_Data/Semiconductor Capability.jmp");
cnames = dt << get column names("Continuous", "string");
//Here I will just use 10
cnames = cnames[1::10];
dist = dt << Distribution(Columns(evalList(cnames)));
就我而言:
- 我的变量不是列名列表,而是选定的列? - 这打破了分布图
- 有 col 分组工作,但在这里坏了,只是选择 cols
也有一些选择cols的情况,分发平台启动,但等待用户选择cols。
dt = Current Data Table();
all_col_names = dt << get column names( string );
number_columns = N Cols( dt );
dt << Clear Column Selection;
//2. Containing Keyword Column Grouping
found_list = {};
keyword_group_list = {"ParamOne","ParamTwo"};
//3. Loop over columns keywords to group
For( i = 1, i <= N Items( keyword_group_list ), i++,
found_list = {};
For( k = 1, k <= N Items( col_names ), k++,
If( contains( col_names[k], keyword_group_list[i] )>0,
Insert Into( found_list, col_names[k] );
As Column( col_names[k] ) << Set Selected( 1 );
);
);
);
col_to_plot = dt << Get Selected Columns;
distParams = dt << Distribution(Columns(evalList(col_to_plot)));
distParams << arrange in rows(3);
report(distParams)[OutlineBox(2)] << Open all like this(1);
为了将规范限制写入数据表,我一直在使用 Add in,但想了解如何将对此的调用集成为整个脚本的一部分。从限制表向数据表写入限制
然后,我需要建议如何包含如下内容,但请参考通用 col[i]
我可以尝试从报告中将 Cpk 提取为表格。
SendToReport(
Dispatch(
{"ParamOne_a"},
"1",
ScaleBox,
{Label Row( Show Major Labels( 0 ) )}
)
)
我将建议一些完全不同的东西来实现相同的目标。
第一步。 制作您的规格表,仅包含您要使用的变量。
第二步,使用此示例导入规格限制并将它们保存到列属性中。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
obj = dt <<
Process Capability(
Process Variables( :OZONE, :CO, :SO2, :NO ),
Spec Limits(
Import Spec Limits(
"$SAMPLE_DATA/CitySpecLimits.jmp"
)
)
);
obj << Save Spec Limits as Column Properties;
这样可以将您的示例减少到 12 行代码,但也许可以吗?
干杯,
乙