Input Data Sets
You can read raw data (process measurements) from a DATA=
data set specified in the PROC SHEWHART statement.
Each process specified
in the MRCHART statement must be a SAS variable in the DATA= data set.
This variable provides measurements that must be grouped
into subgroup samples indexed by the
values of the subgroupvariable. The subgroupvariable,
which is specified in the MRCHART statement,
must also be a SAS variable in the
DATA= data set.
Each observation in a DATA= data set must contain a value
for each process and a value for the subgroupvariable.
If the i^{ th}
subgroup contains n_{i} items, there should be n_{i}
consecutive observations for which the value of the
subgroupvariable is the index of the i^{ th}
subgroup. For example, if each subgroup
contains five items and there are 30 subgroup samples, the DATA= data
set should contain 150 observations.
Other variables that can
be read from a DATA= data set include
 _PHASE_ (if the READPHASES= option is specified)
 blockvariables
 symbolvariable
 BY variables
 ID variables
By default, the SHEWHART procedure reads all of the observations in a
DATA= data set. However, if the DATA= data set includes the variable
_PHASE_, you can read selected groups of observations (referred to
as phases) by specifying the READPHASES= option
(for an example, see "Displaying Stratification in Phases").
For an example of a DATA= data set, see
"Creating Charts for Medians and Ranges from Raw Data".
You can read preestablished control limits (or parameters from which
the control limits can be calculated)
from a LIMITS= data set specified in the PROC SHEWHART statement.
For example, the following
statements read control limit information from the data set
CONLIMS:^{*}
proc shewhart data=info limits=conlims;
mrchart weight*batch;
run;
The LIMITS= data set can be an OUTLIMITS= data set that was created in
a previous run of the SHEWHART procedure. Such data sets always
contain the variables required for a LIMITS= data set. The LIMITS=
data set can also be created directly using a DATA step.
When you create a LIMITS= data set, you must provide
one of the following:
 the variables _LCLM_, _MEAN_, _UCLM_, _LCLR_, _R_, and
_UCLR_, which specify the control limits directly
 the variables _MEAN_ and _STDDEV_, which are used
to calculate the control limits according to
the equations in Table 36.22
In addition, note the following:
 The variables _VAR_ and _SUBGRP_ are required.
These must be character variables of length 8.
 The variable _INDEX_ is required if you specify the
READINDEX= option; this must be a character variable
of length 16.
 The variables _LIMITN_, _SIGMAS_ (or _ALPHA_), and
_TYPE_ are optional, but they are recommended to maintain
a complete set of control limit information.
The variable _TYPE_ must be a character variable of length
8; valid values are ESTIMATE, STANDARD,
STDMU, and STDSIGMA.
 BY variables are required if specified with a BY statement.
For an example, see "Reading Preestablished Control Limits".
You can read
subgroup summary statistics from a HISTORY= data set specified in the
PROC SHEWHART statement. This allows you to reuse OUTHISTORY= data
sets that have been created in previous runs of the SHEWHART
procedures or to read output data sets created with
SAS summarization procedures, such as PROC UNIVARIATE.
A HISTORY= data set used with the MRCHART statement
must contain the following variables:
 the subgroupvariable
 a subgroup mean variable for each process
 a subgroup median variable for each process
 a subgroup range variable for each process
 a subgroup sample size variable for each process
The names of the subgroup mean, subgroup median, subgroup
range, and subgroup sample size variables must be the
process name concatenated with the special suffix
characters X, M, R, and N, respectively.
You must provide the subgroup mean variable only if you
specify the MEDCENTRAL=AVGMEAN option.
For example, consider the following statements:
proc shewhart history=summary;
mrchart (weight yldstren)*batch / medcentral=avgmean;
run;
The data set SUMMARY must include the variables BATCH, WEIGHTX,
WEIGHTM, WEIGHTR, WEIGHTN, YLDSRENX, YLDSRENM, YLDSRENR, and YLDSRENN.
Note that if you specify a process name that contains eight
characters, the names of the summary variables must
be formed from the first four
characters and the last three characters of the process
name, suffixed with the appropriate character.
Other variables that can be read from a HISTORY= data set include
 _PHASE_ (if the READPHASES= option is specified)
 blockvariables
 symbolvariable
 BY variables
 ID variables
By default, the SHEWHART procedure reads all the observations in a HISTORY=
data set. However, if the data set includes the
variable _PHASE_, you can read selected groups of observations
(referred to as phases)
by specifying the READPHASES= option
(see "Displaying Stratification in Phases" for an example).
For an example of a HISTORY= data set,
see "Creating Charts for Medians and Ranges from Summary Data".
You can read summary statistics and control limits from
a TABLE= data set specified in the PROC SHEWHART statement.
This enables you to reuse an OUTTABLE= data set created
in a previous run of the SHEWHART procedure or to read data sets
created by other SAS procedures. Because the SHEWHART procedure
simply displays the information in a TABLE= data set, you can
use TABLE= data sets to create specialized control charts.
Examples are provided in Chapter 49, "Specialized Control Charts."
The following table lists the variables required in a TABLE= data set
used with the MRCHART statement:
Table 36.25: Variables Required in a TABLE= Data Set
Variable

Description

_LCLM_  lower control limit for median 
_LCLR_  lower control limit for range 
_LIMITN_  nominal sample size associated with the control limits 
_MEAN_  process mean 
_R_  average range 
subgroupvariable  values of the subgroupvariable 
_SUBM_  subgroup median 
_SUBN_  subgroup sample size 
_SUBR_  subgroup range 
_UCLM_  upper control limit for median 
_UCLR_  upper control limit for range 
Other variables that can be read from a TABLE= data set include
 blockvariables
 symbolvariable
 BY variables
 ID variables
 _PHASE_ (if the READPHASES= option is specified).
This variable must be a character variable of length 16.
 _TESTS_ (if the TESTS= option is specified). This variable
is used to flag tests for special causes
for subgroup medians and must be
a character variable of length 8.
 _TESTS2_ (if the TESTS2= option is specified). This variable
is used to flag tests for special causes for subgroup ranges and must be
a character variable of length 8.
 _VAR_. This variable is
required if more than one process is specified
or if the data set contains information for more
than one process. This variable must be a character
variable of length 8.
For an example of a TABLE= data set, see "Saving Control Limits".
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.