变量中的自动SPEC限制。图表你好
我创建了一个脚本,该脚本生成在Y轴:NewValue和X轴:ENTITY上显示的可变性图表。
可变性图表由ATTRIBUTE_NAME过滤,因此我可以获得大量图表,每个图表对应每个属性名称。
我希望脚本将附加数据表中的相关SPEC限制(称为“ Gases SPEC限制”)添加到新列,并为每个具有特定SPEC值的属性名称生成可变性图表。
无法理解该怎么做,请帮忙!
到目前为止,这里已附上我无法通过脚本为3个不同属性手动生成USL的脚本:
dt =当前数据表();
dt <<新建列(“ USL”,
数字,
连续,
公式(If(::ATTRIBUTE_NAME ==“ Gas07TactrasFlowCheckF2”,65,
If(:ATTRIBUTE_NAME ==“ Gas08TactrasFlowCheckF2”,70,
If(:ATTRIBUTE_NAME ==“ Gas04TactrasFlowCheckF2”,15,10)
)))
);
varch = dt <<变异图(
Y(:NewValue),
X(:ENTITY),
由(:ATTRIBUTE_NAME),
显示范围条(0),
显示单元均值(0),
连接单元均值(0),
显示分隔符(0),
标准开发图(0),
抖动点(1),
AIAG标签(0),
ATTRIBUTE_NAME
SendToReport(
调度(
{},
“ 1”,
ScaleBox,
{添加参考线(__Upper__,“实心”,“黑色”,“ gfgfd”,1)}
),
调度(
{},
“单向图”,
框框,
)
)
);
对于(i = 1,i <= N Rows(dt),i ++,
report(varch)[axisbox(1)] <<添加参考线(dt:LSL [i],“ Solid”,“ Dark Green”,“ Target”,1);
report(varch)[axisbox(1)] <<添加参考线(dt:USL [i],“ Solid”,“ Dark Green”,“”,1);
);
回复:自动SPEC限制(以var为单位)。图表您的脚本有2个问题
- 可变性图表的输出不会输出1报告结构,而是会为每个“按”组输出报告结构。 因此,指定
Report( varch )[AxisBox(1)]
是不正确的引用,它需要指定您要引用的报告结构,例如“ Gas07TactrasFlowCheckF2 “按字母顺序是第一个分组,则引用为
Report( varch[1] )[AxisBox(1)]
- For()循环将为数据表中的每一行创建一组参考线。 我假设您的数据表中可能有数百行,并且您将一遍又一遍地写相同的行。 您需要做的是为要创建的每个VarChart创建一个仅包含一行的摘要表,然后浏览该表并将值应用于适当的可变性图表。
我已附上一个示例,说明您可能想如何执行脚本
names default to here(1);
dt=Open("$SAMPLE_DATA/big class.jmp");
// add the USL and LSL to the data as in your example
dt << New Column( "LSL", formula(
If(:Age == 12, 52,
:Age == 13, 57,
:Age == 14, 62,
:Age == 15, 64,
:Age == 16, 64,
64
)
));
dt << New Column( "USL", formula(
If(:Age == 12, 65,
:Age == 13, 66,
:Age == 14, 70,
:Age == 15, 70.5,
:Age == 16, 71,
72
)
));
// Create a summary table with one row for each level of Age
dtSum = dt << Summary(
Group( :age ),
Mean( :LSL ),
Mean( :USL ),
Freq( "None" ),
Weight( "None" ),
statistics column name format( "column" )
);
varch = dt << Variability Chart( Y( :height ), X( :sex),by(:age));
// For each row of the summary table, take it's values add apply to the appropriate
// chart in the Variability Chart
For( i=1, i<=N Rows(dtSum), i++,
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:LSL[i], "Solid", "Dark Green", "Target", 1 );
Report( varch[i] )[axisbox( 1 )] << Add Ref Line( dtSum:USL[i], "Solid", "Dark Green", "", 1 );
);回复:自动SPEC限制(以var为单位)。图表感谢您的回答!
为了进一步提高脚本性能,我想将我当前的表(我愿意分析的数据)与另一个不变的数据表(SPEC限制)连接起来。
SPEC限制数据表包含以下列:“ Gas__TactrasFlowCheckF _”,“ LSL”,“ TARGET”,“ USL”。
第一列“ _”符号代表1-14种不同气体的选项,每种气体有4种流量设置。
将数据连接到一个表将比记下每种气体类型的每个规格限制更容易。
2个数据表仅共享1列“ Gas__TactrasFlowCheckF”,我希望脚本为当前行的每行添加3个SPEC限制。
加入数据表后,我将在第一个回复中使用脚本来生成var。每种气体流量的图表及其特定规格设置。
我想做的第二件事是双变量图:
在X轴上,我将放置“时间”,在Y轴上:“值”。我将为每个流量设置生成一个图。
我很难为每个图添加参考线(“ LSL”,“ TARGET”,“ USL”)。
非常感谢您的帮助!
谢谢