CCHART Statement: SHEWHART Procedure

Saving Control Limits

Note: See c Chart Examples in the SAS/QC Sample Library.

You can save the control limits for a c chart in a SAS data set; this enables you to apply the control limits to future data (see the section Reading Preestablished Control Limits) or subsequently modify the limits with a DATA step program.

The following statements read the data set Trucks introduced in Creating c Charts from Defect Count Data and saves the control limit information displayed in Figure 17.16 in a data set named Deflim:

proc shewhart data=Trucks;
   cchart Defects*TruckID / outlimits=Deflim
                            nochart;
run;

The OUTLIMITS= option names the data set containing the control limits, and the NOCHART option suppresses the display of the chart. Options such as OUTLIMITS= and NOCHART are specified after the slash (/) in the CCHART statement. A complete list of options is presented in the section Syntax: CCHART Statement. The data set Deflim is listed in Figure 17.17.

Figure 17.17: The Data Set Deflim Containing Control Limit Information

Control Limits Data Set Deflim

_VAR_ _SUBGRP_ _TYPE_ _LIMITN_ _ALPHA_ _SIGMAS_ _U_ _LCLC_ _C_ _UCLC_
Defects TruckID ESTIMATE 1 .002902622 3 7.8 0 7.8 16.1785


The data set Deflim contains one observation with the limits for the process Defects. The variables _LCLC_, and _UCLC_ contain the lower and upper control limits. The variable _C_ contains the central line, and the variable _U_ contains the average number of nonconformities per inspection unit. Since all the subgroups contain a single inspection unit, the values of _C_ and _U_ are the same. The value of _LIMITN_ is the nominal sample size associated with the control limits, and the value of _SIGMAS_ is the multiple of $\sigma $ 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 value of _U_ is an estimate or standard value. For more information, see the section OUTLIMITS= Data Set.

Alternatively, you can use the OUTTABLE= option to create an output data set that saves both the control limits and the subgroup statistics, as illustrated by the following statements:

title 'Number of Nonconformities and Control Limit Information';
proc shewhart data=Trucks;
   cchart Defects*TruckID / outtable=Trucktab
                            nochart;
run;

The OUTTABLE= data set Trucktab is listed in Figure 17.18.

Figure 17.18: The Data Set Trucktab

Number of Nonconformities and Control Limit Information

_VAR_ TruckID _SIGMAS_ _LIMITN_ _SUBN_ _LCLC_ _SUBC_ _C_ _UCLC_ _EXLIM_
Defects C1 3 1 1 0 5 7.8 16.1785  
Defects C2 3 1 1 0 4 7.8 16.1785  
Defects C3 3 1 1 0 4 7.8 16.1785  
Defects C4 3 1 1 0 8 7.8 16.1785  
Defects C5 3 1 1 0 7 7.8 16.1785  
Defects C6 3 1 1 0 12 7.8 16.1785  
Defects C7 3 1 1 0 3 7.8 16.1785  
Defects C8 3 1 1 0 11 7.8 16.1785  
Defects E4 3 1 1 0 8 7.8 16.1785  
Defects E9 3 1 1 0 4 7.8 16.1785  
Defects E7 3 1 1 0 9 7.8 16.1785  
Defects E6 3 1 1 0 13 7.8 16.1785  
Defects A3 3 1 1 0 5 7.8 16.1785  
Defects A4 3 1 1 0 4 7.8 16.1785  
Defects A7 3 1 1 0 9 7.8 16.1785  
Defects Q1 3 1 1 0 15 7.8 16.1785  
Defects Q2 3 1 1 0 8 7.8 16.1785  
Defects Q3 3 1 1 0 9 7.8 16.1785  
Defects Q9 3 1 1 0 10 7.8 16.1785  
Defects Q4 3 1 1 0 8 7.8 16.1785  


This data set contains one observation for each subgroup sample. The variables _SUBC_ and _SUBN_ contain the number of nonconformities per subgroup and the number of inspection units per subgroup. The variables _LCLC_ and _UCLC_ contain the lower and upper control limits, and the variable _C_ contains the central line. The variables _VAR_ and TruckID 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 in the SHEWHART procedure. For example, the following statements read Trucktab and display a c chart (not shown here) identical to the chart in Figure 17.16:

title 'c Chart for Paint Defects in New Trucks';
proc shewhart table=Trucktab;
   cchart Defects*Truckid;
label _SUBC_ = 'Number of Paint Defects';
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.