I am afraid that I cannot explain the user's request well in this entry because of my poor English.
If you don't unserstand this user's request well, I would like to try to explain again in some other ways.
What inspired this Wish List Request?
This is suggested by Masakazu Okada-san, SE at JMP Japan. He found this suggestion when he answered a question about how to set several LCL, UCL and center lines for different group variables. This can be done by JSL codes, but it's tedious.
The user is FICT, the printed-board manufactureing company.
Please describe the new or improved feature or solution you would like to see.
In the current Process Screening platform, you can specify Grouping colum, and set different Targets, LSLs, USLs, center lines and sigmas by using Limits data table.
Okada-san suggests we have the same featuers also for the Control Chart Builder and the Process Capability platform.
What would the value be to you and/or other users if this new feature is provided?
Currently, the user does it after some data manipulations with JSL. It's tedious.
Is this an external customer request?
Yes, the user is FICT. SE for them is Masakazu OKada-san at JMP Japan.
Is there a competitive software package that has this feature or solution that we should be aware of?
I don't know whether other software can do it.
Will this impact a renewal, expansion, or adoption at a customer, and does this put an account at risk if we do not address this?
No. But Masakazu Okada-san believes that this new feature can also help other users.
Details
The following is an example to show how to set different limits for differeng groups in the 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()),
<
Quality and Process EngineeringRe: Grouping feature for Control Chart builder and Process Capabiilty platform - Status changed to: AcknowledgedRe: Grouping feature for Control Chart builder and Process Capabiilty platform - Status changed to: InvestigatingRe: Grouping feature for Control Chart builder and Process Capabiilty platform - Status changed to: Yes, Stay Tuned!This is already available in CCB, and in 19 has been added for Process Capability. See https://jmpdiscovery.atlassian.net/browse/JMP-4341 and https://jmpdiscovery.atlassian.net/browse/JMP-22646
@mia_stephens -san, I got the same request from an engineer at Resonac. Their request is a little bit more complicated. They want to switch groups (by Local Data Filter) and Y-variables(by Column Switcher) which have different spec limits. I already answered to them that it is possible by making a script (like the attached one). But I come to think that it can be possible more easily even in JMP18's CCB. Could you tell me how we can set spec limits for Group variables in JMP18's or JMP19's CCB? I cannot find the way.
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>