我正在尝试根据规格限制的值来确定零件的RFT。我已经能够使用以下JSL脚本在图形构建器中创建自定义变换列:
vars = expr(Variables());
dataSheet = "....CENSORED.jmp";
dt = Open(dataSheet);
colnames = dt << get column group( "Data" );
For( i = 1, i <= nitems(colnames), i++,
colName = Char(colnames[i]);
insert into(vars,
eval expr(
X(
Transform Column(
expr(char(colName)),
Character,
Nominal,
Formula(
lsl = (expr(parse(colName)) << get property( "Spec Limits" ))["LSL"];
usl = (expr(parse(colName)) << get property( "Spec Limits" ))["USL"];
If( expr(parse(colName)) < lsl | expr(parse(colName)) > usl,
"Bad",
"Good"
);
)
)
)
)
);
);
gb = Eval Expr(
Graph Builder(
Show Control Panel( 1 ),
Expr( Name Expr( vars ) )
)
);
for(j = 1, j <= nitems(colNames), j++,
insert into(gb,
eval expr(
Elements(
Position( expr(j), 1 ),
Bar(
X,
Legend( 3 ),
Bar Style( "Stacked" ),
Summary Statistic( "% of Total" )
)
)
)
);
);
gb;这会为表中的每列生成一个虚拟列,其中包含“Good”或“Bad”,具体取决于该功能是否超出规范限制。问题是,当我使用条形图绘制这个时,我无法将列堆叠起来:

我想看到的是这样的:

在没有丢失与原始数据表的连接的情况下,我无法看到这样做的方法(即,创建一个分别计算好/坏百分比的摘要样式表)!
救命!
您需要将数据格式化为正确的格式。 我猜你想要一个单独的FT1和FT2吧,对吗?您需要堆叠这些列(表>堆栈)。 JMP中的几乎所有内容都需要采用长格式。 我从屏幕截图开始用你的桌子制作了这个:
所以Mosaic可能会起作用,正如这个测试数据所证明的那样,但是条形的方向不正确。没有选择改变我能看到的方向