Saving Control Limits

[See SHWIR1 in the SAS/QC Sample Library]You can save the control limits for individual measurements and moving range charts in a SAS data set; this enables you to apply the control limits to future data (see Reading Preestablished Control Limits) or modify the limits with a DATA step program.

The following statements read the diameter measurements from the data set Jets (see Creating Individual Measurements and Moving Range Charts) and save the control limits displayed in Figure 15.28 in a data set named Jetlim:

proc shewhart data=Jets;
   irchart Diam*Engine / outlimits = Jetlim
                         nochart;
run;

The OUTLIMITS= option names the data set containing the control limits, and the NOCHART option suppresses the display of the charts. The data set Jetlim is listed in Figure 15.31.

Figure 15.31 The Data Set Jetlim Containing Control Limit Information
Control Limits for Diameters

_VAR_ _SUBGRP_ _TYPE_ _LIMITN_ _ALPHA_ _SIGMAS_ _LCLI_ _MEAN_ _UCLI_ _LCLR_ _R_ _UCLR_ _STDDEV_
Diam Engine ESTIMATE 2 .002699796 3 66.2290 80.39 94.5510 0 5.32632 17.3986 4.72032

The data set Jetlim contains one observation with the limits for process Diam. The variables _LCLI_ and _UCLI_ contain the control limits for the individual measurements, and the variable _MEAN_ contains the central line. The variables _LCLR_ and _UCLR_ contain the control limits for the moving ranges, and the variable _R_ contains the central line. The value of _MEAN_ is an estimate of the process mean, and the value of _STDDEV_ is an estimate of the process standard deviation . The value of _LIMITN_ is the number of consecutive measurements used to compute the moving ranges, and the value of _SIGMAS_ is the multiple of associated with the control limits. The variables _VAR_ and _SUBGRP_ are bookkeeping variables that save the process and subgroup-variable. The variable _TYPE_ is a bookkeeping variable that indicates whether the values of _MEAN_ and _STDDEV_ are estimates or standard values. For more information, see OUTLIMITS= Data Set.

You can create an output data set containing both control limits and summary statistics with the OUTTABLE= option, as illustrated by the following statements:

proc shewhart data=Jets;
   irchart Diam*Engine / outtable=Jtable
                         nochart;
run;

The data set Jtable is listed in Figure 15.32.

Figure 15.32 The Data Set Jtable
Summary Statistics and Control Limit Information

_VAR_ Engine _SIGMAS_ _LIMITN_ _LCLI_ _SUBI_ _MEAN_ _UCLI_ _STDDEV_ _EXLIM_ _LCLR_ _SUBR_ _R_ _UCLR_ _EXLIMR_
Diam 1 3 2 66.2290 78.4 80.39 94.5510 4.72032   0 . 5.32632 17.3986  
Diam 2 3 2 66.2290 80.1 80.39 94.5510 4.72032   0 1.7 5.32632 17.3986  
Diam 3 3 2 66.2290 84.4 80.39 94.5510 4.72032   0 4.3 5.32632 17.3986  
Diam 4 3 2 66.2290 79.1 80.39 94.5510 4.72032   0 5.3 5.32632 17.3986  
Diam 5 3 2 66.2290 80.4 80.39 94.5510 4.72032   0 1.3 5.32632 17.3986  
Diam 6 3 2 66.2290 83.5 80.39 94.5510 4.72032   0 3.1 5.32632 17.3986  
Diam 7 3 2 66.2290 73.8 80.39 94.5510 4.72032   0 9.7 5.32632 17.3986  
Diam 8 3 2 66.2290 83.5 80.39 94.5510 4.72032   0 9.7 5.32632 17.3986  
Diam 9 3 2 66.2290 75.0 80.39 94.5510 4.72032   0 8.5 5.32632 17.3986  
Diam 10 3 2 66.2290 76.8 80.39 94.5510 4.72032   0 1.8 5.32632 17.3986  
Diam 11 3 2 66.2290 70.5 80.39 94.5510 4.72032   0 6.3 5.32632 17.3986  
Diam 12 3 2 66.2290 80.3 80.39 94.5510 4.72032   0 9.8 5.32632 17.3986  
Diam 13 3 2 66.2290 82.4 80.39 94.5510 4.72032   0 2.1 5.32632 17.3986  
Diam 14 3 2 66.2290 79.4 80.39 94.5510 4.72032   0 3.0 5.32632 17.3986  
Diam 15 3 2 66.2290 86.4 80.39 94.5510 4.72032   0 7.0 5.32632 17.3986  
Diam 16 3 2 66.2290 90.5 80.39 94.5510 4.72032   0 4.1 5.32632 17.3986  
Diam 17 3 2 66.2290 77.7 80.39 94.5510 4.72032   0 12.8 5.32632 17.3986  
Diam 18 3 2 66.2290 82.5 80.39 94.5510 4.72032   0 4.8 5.32632 17.3986  
Diam 19 3 2 66.2290 79.9 80.39 94.5510 4.72032   0 2.6 5.32632 17.3986  
Diam 20 3 2 66.2290 83.2 80.39 94.5510 4.72032   0 3.3 5.32632 17.3986  

This data set contains one observation for each subgroup. The variables _SUBI_ and _SUBR_ contain the individual measurements and moving ranges. The variables _LCLI_ and _UCLI_ contain the lower and upper control limits for the individual measurements chart, and the variables _LCLR_ and _UCLR_ contain the lower and upper control limits for the moving range chart. The variable _MEAN_ contains the central line of the individual measurements chart, and the variable _R_ contains the central line of the moving range chart. The variables _VAR_ and Engine contain the process name and values of the subgroup-variable, respectively. For more information, see OUTTABLE= Data Set.

An OUTTABLE= data set can be read later as a TABLE= data set. For example, the following statements read Jtable and display charts (not shown here) identical to those in Figure 15.28:

title 'Individual Measurements and Moving Range Control Charts';
title2 'Jet Engine Diameters (cm)';
proc shewhart table=Jtable;
   irchart Diam*Engine;
run;

Because the SHEWHART procedure simply displays the information in a TABLE= data set, you can use TABLE= data sets to create specialized control charts (see Specialized Control Charts: SHEWHART Procedure).

For more information, see TABLE= Data Set.