See CUSONES1 in the SAS/QC Sample LibraryThis example shows how the cusum parameters saved in the previous example can be applied to new measurements saved in a data
set named Cans2
:
data Cans2; length pump $ 8; label Hour = 'Hour'; input Hour Weight pump $ 8. ; datalines; 16 8.1765 Pump 3 17 8.0949 Pump 3 18 8.1393 Pump 3 19 8.1491 Pump 3 20 8.0473 Pump 1 21 8.1602 Pump 1 22 8.0633 Pump 1 23 8.0921 Pump 1 24 8.1573 Pump 1 25 8.1304 Pump 1 26 8.0979 Pump 1 27 8.2407 Pump 1 28 8.0730 Pump 1 29 8.0986 Pump 2 30 8.0785 Pump 2 31 8.2308 Pump 2 32 8.0986 Pump 2 33 8.0782 Pump 2 34 8.1435 Pump 2 35 8.0666 Pump 2 ;
The following statements create a one-sided cusum chart for the measurements in Cans2
using the parameters in cusparm
:
title "One-Sided Cusum Analysis for New Data"; proc cusum data=Cans2 limits=cusparm; xchart Weight*Hour( pump ) / odstitle=title markers; label Weight = 'Cusum of Weight'; run; ods graphics off;
ODS Graphics remains enabled until it is disabled with the ODS GRAPHICS OFF statement, so this cusum chart is also created using ODS Graphics.
The LIMITS= option in the PROC CUSUM statement specifies the data set containing preestablished cusum parameters.[28] The chart, shown in Figure 6.12, indicates that the process is in control. Levels of the variable pump
(referred to as a block-variable) do not enter into the analysis but are displayed in a block legend across the top of the chart. See Block Variable Legend Options.
Figure 6.12: Cusum Chart with Decision Interval for New Data
In general, the parameters for a specified process and subgroup-variable are read from the first observation in the LIMITS= data set for which
the value of _VAR_
matches the process (in this case, Weight
)
the value of _SUBGRP_
matches the subgroup-variable name (in this case, Hour
)
If you are maintaining more than one set of cusum parameters for a particular process, you will find it convenient to include a special identifier variable named _INDEX_
in the LIMITS= data set. This must be a character variable of length 16. Then, if you specify READINDEX=’value’ in the XCHART statement, the parameters for a specified process and subgroup-variable are read from the first observation in the LIMITS= data set for which
the value of _VAR_
matches process
the value of _SUBGRP_
matches the subgroup-variable name
the value of _INDEX_
matches value
In this example, the LIMITS= data set was created in a previous run of the CUSUM procedure. You can also create a LIMITS= data set with the DATA step. See LIMITS= Data Set for details concerning the variables that you must provide.
[28] In SAS 6.09 and in earlier releases, it is also necessary to specify the READLIMITS option or the READINDEX= option to read cusum parameters from a LIMITS= data set.