我正在嘗試根據規格限制值確定零件的 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;這會為表中的每一列產生一個虛擬列,其中包含“好”或“差”,具體取決於該功能是否超出規格限制。 問題是當我使用條形圖繪製此圖時,我無法將列堆疊起來:

我想看到的是這樣的:

我看不到在不丟失與原始資料表的連接的情況下執行此操作的方法(即創建一個匯總樣式表來分別計算好/壞百分比)!
幫助!
您需要將資料轉換為正確的格式。我猜你想要一個單獨的欄位來容納 FT1 和 FT2,對吧?您需要堆疊這些列(表 > 堆疊)。JMP 中的幾乎所有內容都需要採用長格式。我從螢幕截圖中的表格開始並生成了以下內容:
因此,馬賽克可能有效,正如此測試數據所示,但條形的方向不正確。 我看不到改變這個方向的選項