turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- JMP User Community
- :
- Discussions
- :
- Discussions
- :
- Control Chart builder not capturing details in scr...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Oct 2, 2017 11:25 AM
(978 views)

So I'm trying to somewhat automate my sustaining review of all my process charts for limit changes.

So a few problems I'm running into with control chart builder:

1. When splitting the chart data by process type, my chart settings (Moving Range, Standard Dev) are not transferred to the dozens of newly created charts

2. When capturing the script for this, it does not specify the charting types, like Moving Range.

3. After completion, I would like to export this as a table of charted control and Centerline limits, by ProcessChart.

So I'm setting up ControlChartBuilder like this:

- y-axis = my value data
- x-axis = date/unique run/timestamp

I then set up the builder as:

- Shewhart Variables
- Statistic=Average
- Limits[1]=Moving Range
- Points[2]=Standard Deviation
- Limits[2]=Standard Deviation

And then I select my process type and click "BY" to split the data into its respective groups. The dozens of __new charts don't have the same settings__ and when I look at the script, it doens' t contain the chart settings.

```
Control Chart Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Show Capability( 0 ),
Variables(
Subgroup( :Timestamp ),
Subgroup( :Lot_Slot, Position( 1 ) ),
Y( :Value )
),
Chart( Position( 1 ), Limits( Sigma, Zones( 1 ) ) ),
Chart(
Position( 2 ),
Points( Statistic( "Standard Deviation" ) ),
Limits( Sigma, Show Center Line( 0 ) )
),
Where( :ProcessStep == "UniqueProcess1" )
);
```

SO here's the script that comes out of this, but its not capturing "Moving Range" as my Limits[1] selection on the main chart.

How could I get this fixed?

And to address the first issue, how could I tweak this script to run through all my "UniqueProcess" types in the final line (Where....), to create a separate chart for each process type? And then also output a table with the limit values for each process chart?

4 REPLIES

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Oct 2, 2017 11:33 AM
(976 views)

this is what I'm looking at

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Oct 3, 2017 12:56 AM
(938 views)

I didn't get all the nuances of what you are asking, but this code might help you:

```
NamesDefaultToHere(1);
// Get some semiconductor data
dt = Open("$SAMPLE_DATA/Semiconductor Capability.jmp");
// Make some charts for each lot using the 'By' role
cb = dt << Control Chart Builder(
Show Control Panel( 0 ),
Variables( Y( :NPN1 ) ),
Chart( Position( 1 ), Limits( Sigma( Moving Range ), Spec Limits( 0 ) ) ),
Chart( Position( 2 ), Limits( Sigma( Moving Range ), Spec Limits( 0 ) ) ),
By( :lot_id )
);
// Get the report for the first level of the 'By' variable
ccRep1 = Report(cb[1]);
// Get the limits table for ALL levels of the 'By' variable
dtLimits = ccRep1[TableBox(1)] << makeCombinedDataTable;
dtLimits << setName("Limits Table for All Lots");
```

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Oct 3, 2017 6:07 AM
(929 views)

Awesome. This almost works for what I need. I edited a bit and it works great so far, just missing a few extra things. On the example script, it looks like the SPEC Limits are embeded into the value columns. It looks like this allows the script to then output histograms as well. I guess I need to read how to embed my limits in. I am pulling multiple product data with different limits though, so this might not work well.

Maybe need to get it to just reference other columns (I have USL, Target, LSL already pulled) rather than embedding. Also, is there a way to display proposed/calculated control limits on that histogram output?

So I have columns:

y-axis: Values/data

x-axis: 2 layers. Lot_slot unique & TimeStamp

split it up BY: product type

I changed the charts to a Xbar/MR chart and a Standard Dev chart. --> this matches the original control chart builder

```
NamesDefaultToHere(1);
// Get some semiconductor data
dt = Open("C:\Limit Changes\t-90 data.jmp");
// Make some charts for each lot using the 'By' role
cb = dt << Control Chart Builder(
Show Control Panel( 0 ),
Variables(
Subgroup( :TimeStamp ),
Subgroup( :Lot_Slot, Position( 1 ) ),
Y( :Value )
),
Chart( Position( 1 ), Limits( Sigma( Moving Range ), Spec Limits( 0 ) ) ),
Chart( Position( 2 ), Points( Statistic( "Standard Deviation" ) ), Limits( Sigma, Spec Limits( 0 ), Show Center Line( 0 ) ) ),
By( :Product )
);
// Get the report for the first level of the 'By' variable
ccRep1 = Report(cb[1]);
// Get the limits table for ALL levels of the 'By' variable
dtLimits = ccRep1[TableBox(1)] << makeCombinedDataTable;
dtLimits << setName("Limits Table for All Lots");
```

I figure I also need to add in:

- popup window to select data file
- popup to select y-axis columns
- popup to select the multiple levels of x-axis groupings columns
- popup to select the 'BY' column selection (multiple selections? By1, By2,...)
- pull/display the current SPEC Limits, Target in the summary Limits Table

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

Oct 3, 2017 9:52 AM
(917 views)

All of these requirements you mention can be met with some JSL, and similar things have been done many times by many people. But the details will depend on the workflow you want, where the limits are stored and so on. If you are not already, you should be aware of the rather wonderful add in from txnelson for managing Spec limits. You can easily add the limits to a histogram by adding reference lines to the axis.