恐怕由於我的英語不好,我無法在這個詞條中很好地解釋用戶的要求。
如果您沒有很好地理解該用戶的要求,我想嘗試通過其他方式再次解釋。
是什麼激發了這個願望清單請求?
這是 JMP Japan 的工程師 Masakazu Okada-san 提出的建議。 他在回答一個關於如何為不同的組變量設置多個LCL、UCL和中心線的問題時發現了這個建議。 這可以通過 JSL 代碼來完成,但它很乏味。
用戶是印製板製造公司FICT。
請描述您希望看到的新的或改進的功能或解決方案。
在目前的Process Screening平台中,可以指定Grouping列,通過Limits數據表設置不同的Targets、LSLs、USLs、center lines和sigmas。
Okada-san 建議我們也為控製圖生成器和過程能力平台提供相同的功能。
如果提供此新功能,對您和/或其他用戶有何價值?
目前,用戶在使用 JSL 進行一些數據操作後執行此操作。 這很乏味。
這是外部客戶的要求嗎?
是的,用戶是 FICT。 他們的 SE 是 JMP Japan 的 Masakazu OKada-san。
有沒有我們應該注意的具有此功能或解決方案的競爭軟件包?
不知道其他軟件能不能做到。
這是否會影響客戶的續訂、擴展或採用,如果我們不解決這個問題,是否會使客戶面臨風險?
不會。但是岡田正和先生相信這項新功能也可以幫助其他用戶。
細節
下面舉例說明如何在Process Screening platfrom中為不同的組設置不同的限值。
New Table( "Spec Limits",
New Column( "Variable", Character, Values( {"X1", "X2", "X3", "X4", "X1", "X2", "X3", "X4"} )),
New Column( "LSL", Values( [-3, -3, -3, -3, -5, -5, -5, -5] ) ),
New Column( "USL", Values( [3, 3, 3, 3, 5, 5, 5, 5] )),
New Column( "Target", Values( [0, 0, 0, 0, 0, 0, 0, 0] )),
New Column( "Sigma", Values( [1, 1, 1, 1, 2, 2, 2, 2] )),
New Column( "Center", Values( [0, 0, 0, 0, 1, 1, 1, 1] )),
New Column( "Group", Values( [1, 1, 1, 1, 2, 2, 2, 2] ))
);
dt = As Table(J(1000,1, Random Integer(2))||J(1000, 4, Random Normal()),
<
質量與工藝工程回复:控製圖生成器和過程能力平台的分組功能 - 狀態更改為:已確認回复:控製圖生成器和過程能力平台的分組功能 - 狀態更改為:正在調查回覆:控制圖建構器和流程能力平台的分組功能 - 狀態變更為:是,敬請期待!CCB 中已經提供了此功能,並在 19 中為製程能力添加了此功能。請參閱https://jmpdiscovery.atlassian.net/browse/JMP-4341和https://jmpdiscovery.atlassian.net/browse/JMP-22646
@mia_stephens -san,我從 Resonac 的工程師那裡收到了同樣的請求。他們的要求有點複雜。他們想要切換具有不同規格限制的群組(透過本地資料過濾器)和 Y 變數(透過列切換器)。我已經回答他們可以透過製作腳本(如附件)。但我認為即使在 JMP18 的 CCB 中也可以更輕鬆地實現這一點。您能否告訴我如何為 JMP18 或 JMP19 的 CCB 中的群組變數設定規格限制?我找不到路。
Clear Symbols();
Clear Globals();
Names Default To Here(1);
// Random Data
n = 1000; //Total Sample Szie
nprod = 5; // Number of Products
ntest = 20; //Number of Testes (measuremnt instruments)
Random Reset(11111111); // Random Seed
// Make a sample data
prodid = Shape(Repeat((1::nprod)`,nprod,n/nprod),n,1);
dt input = As Table(prodid || (prodid* J(1,ntest,1) + J(n, ntest, Round(Random Normal(Random Integer(1,3),Random Integer(1,3)),3))));
dt input << Set Name("Data");
Column(dt input,1)<<SET name=""> List of Product Name */
Summarize(input data, product names = By(Column(product col name input)));
/* test names --> List of Sencor Name */
/* The below code assume that measurment data are saved after the 2nd column. */
/* You need to change if not so. */
test names = Remove(input data <<GET column="" names="">=2, Dialog(TextBox("There are more than one corresponding data in Spec Limit data."));
);
lsl = Column(dt spec, lsl colname)[row num];
target = Column(dt spec, target colname)[row num];
usl = Column(dt spec, usl colname)[row num];
Eval List({lsl[1], target[1], usl[1]})
);
append cont chart = Function({input data, prod var, prod name, yvar, lsl, target, usl},{Default Local},
Eval(Eval Expr(
ccb = V List Box( input data << Control Chart Builder(
invisible,
Where(:As Column(input data, prod var) == Expr(prod name)),
// Where(:Product == Expr(prod name)),
Show Excluded Region( 0 ),
Variables( Y( Column(input data, yvar) )),
Chart(
Position( 1 ),
Limits( Spec Limits( 1 ) ),
Add Spec Limits( {LSL( lsl ), USL( usl ), Target( target )} )
),
Sort by Subgroup( 1 ),
Show Control Panel( 0 )
))
));
ccb[Text Box(1)] << Visibility("Collapse");
vb << Append( ccb )
);
update control chart by list box = Expr(
sel prod = lb prod<<GET selected="">=1 & NItems(sel test)>=1,
{lsl, target, usl} = get spec values from spec data(dt spec, sel prod[1], sel test[1],
product col name spec, test col name spec, lsl col name,
target col name, usl colname);
);
append cont chart(input data, product col name input, sel prod[1], sel test[1], lsl, target, usl);
);
New Window("Control Chart and Capability Analysis",
hb = HList Box(
OutlineBox("Product",
lb prod = ListBox(product names, <<SET max="" selected=""></SET></GET></GET></SET>
<P> </P>