Chapter Contents |
Previous |
Next |
Graphical Enhancements |
See SHWCLMS in the SAS/QC Sample Library |
This section describes the use of the READPHASES= and READINDEXES= options for creating Shewhart charts that display distinct sets of control limits for multiple phases of observations. The term phase refers to a group of consecutive observations in the input data set. For example, the phases might correspond to the time periods during which a new process was brought into production and then put through successive changes.
To display phases, your input data must include a character variable named _PHASE_, whose length cannot exceed 16. (If your data set does not include a variable named _PHASE_, you can temporarily rename another character variable to _PHASE_, as illustrated in the statements in Displaying Stratification in Phases. Each phase consists of a group of consecutive observations with the same value of _PHASE_.
To display distinct sets of predetermined control limits for the phases, you must provide the limits in a LIMITS= data set. This data set must include a character variable named _INDEX_, whose length cannot exceed 16. This variable identifies the sets of control limits (observations) in the LIMITS= data set that are to be associatied with the phases. This data set must also include a number of other variables with reserved names that begin and end with an underscore. The particular structure of a LIMITS= data set depends on the chart statement that you are using; for details, see the sections titled "LIMITS= Data Set" in the chapters for the various chart statements. In addition to specifying a LIMITS= data set, you must also specify the READINDEXES= and READPHASES= options in the chart statement.
Note: To display a single set of predetermined control limits with multiple phases, simply specify a LIMITS= data set in the procedure statement. If you are using Release 6.09 or an earlier release, you must also specify the READLIMITS option. The control limits are read from the first observation in the LIMITS= data for which the variable _VAR_ is equal to the name of the process and the variable _SUBGRP_ is equal to the name of the subgroup-variable. For an example, see "Reading Preestablished Control Limits" .
This section describes the combinations of the READINDEXES= and READPHASES= options that you can specify. The examples that follow use the HISTORY= data set FLANGE listed in Figure 47.7 and the LIMITS= data set FLANGLIM listed in Figure 47.8. The data in FLANGE consist of means and ranges of flange width measurements for subgroups of size five. The observations are grouped into three phases determined by the _PHASE_ values Production, Change 1, and Change 2. Three sets of control limits are provided in FLANGLIM, corresponding to the _INDEX_ values Start, Production, and Change 1.
|
For each of the READINDEXES= and READPHASES= options, you
can specify a single value, a list of values, or the
keyword ALL. You can also leave these options
unspecified. Thus, there are 16 possible combinations
of specifications for the two options, as explained by
the following table and notes.
The two most commonly encountered combinations are
READPHASES= | ||||
READINDEXES= | Single Value | Multiple Values | Keyword ALL | Not Specified |
Single Value | See Note 1 | See Note 1 | See Note 2 | See Note 3 |
Multiple Values | See Note 9 | See Note 4 | See Note 2 | See Note 2 |
Keyword ALL | See Note 5 | See Note 5 | See Note 6 | See Note 6 |
Not Specified | See Note 7 | See Note 7 | See Note 8 | See Note 8 |
The only phases (groups of observations) read are those for which _PHASE_ equals one of the values specified with the READPHASES= option. The chart displays a single set of control limits given by the first observation in the LIMITS= data set for which _INDEX_ is equal to the READINDEXES= value.
For example, the following statements create a chart for the phases Change 1 and Change 2, with control limits read from the second observation in FLANGLIM. The chart is displayed in Figure 47.9.
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphase = ('Change 1' 'Change 2') readindex = ('Production') phaseref phaselegend cinfill = ywh cframe = vibg cconnect = salmon; run;
The only phases read are those for which _PHASE_ equals one of the values specified with the READINDEXES= option. The chart displays a different set of control limits for each phase, read from the first observation in the LIMITS= data set for which _INDEX_ is equal to the corresponding value.
For example, the following statements create a chart
for the phases Production and Change 1
with control limits read from the second and first
observations in FLANGLIM, respectively. The chart is
displayed in Figure 47.10.
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphase = all readindex = ('Production' 'Change 1') phaseref phaselegend cframe = vibg cinfill = ywh cconnect = salmon; run;If you wish to specify a single set of control limits to use with all the phases, use the READINDEXES= option without the READPHASES= option (see Note 3).
All observations are read from the input data set. The chart displays a single set of control limits read from the first observation in the LIMITS= data for which _INDEX_ equals the value.
The only phases read are those for which _PHASE_ equals one of the values specified with the READPHASES= option. The chart displays a different set of control limits for each phase, given by the first observation in the LIMITS= data set for which _INDEX_ equals the READINDEXES=value. Control limits are matched with phases in the order listed.
For example, the following statements create a chart for the phases Production and Change 1 with control limits read from the first and second observations in FLANGLIM, respectively. The chart produced by these statements is identical to the chart in Figure 47.10.
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphases = ('Production' 'Change 1') readindexes = ('Production' 'Change 1') phaseref phaselegend cframe = vibg cinfill = ywh cconnect = salmon; run;The order of the READINDEX=value-list is critical. For instance, the previous statements with READINDEXES=('Change 1' 'Production') create the chart in Figure 47.11, in which the control limits are mismatched with the phases.
The only phases read are those for which _PHASE_ equals one of the values specified with the READPHASES= option. The chart displays a different set of control limits for each phase, read from the first observation in the LIMITS= data set for which _INDEX_ equals the value corresponding to the phase.
For example, the following statements create a chart for the phases Production and Change 1 with the control limits read from the second and first observations in FLANGLIM, respectively:
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphases = ('Production' 'Change 1') readindexes = all phaseref phaselegend ; run;The chart is identical to the chart in Figure 47.10. In general, to read a set of phases with identically labeled control limits, you can specify the phases with either the READPHASES= or READINDEXES= option, and you can specify the keyword ALL with the other option.
All phases are read for which _PHASE_ is a value of _INDEX_ in the LIMITS= data set. The chart displays a different set of control limits for each phase, read from the first observation in the LIMITS= data set for which _INDEX_ equals the value of _PHASE_.
For example, the following statements create a chart for the phases Production and Change 1 with control limits read from the second and first observations in FLANGLIM, respectively. These two phases are read because they are the only phases in FLANGE with matching _INDEX_ values in FLANLIM. The chart is identical to that in Figure 47.10.
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphase = all readindex = all phaseref phaselegend ; run;Note that an identical chart would be produced if you were to omit the READPHASES= option.
The only phases read are those for which _PHASE_ equals one of the values specified with the READPHASES= option. The chart displays a single set of control limits read from the first observation in the LIMITS= data set for which _VAR_ equals the process and _SUBGRP_ equals the name of the subgroup-variable specified in the chart statement.
For example, the following statements create a chart for the phases Production and Change 1 with control limits read from the first observation in FLANGLIM, because this is the first observation for which _VAR_ equals FLWIDTH and _SUBGRP_ equals SAMPLE.
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphases = ('Production' 'Change 1') phaseref phaselegend cframe = vibg cinfill = ywh cconnect = salmon; run;The chart is displayed in Figure 47.12.
All observations are read from the input data set. The chart displays a single set of control limits read from the first observation in the LIMITS= data set for which _VAR_ equals the process and _SUBGRP_ equals the name of the subgroup-variable specified in the chart statement.
For example, the following statements create a chart for all the phases in FLANGE with control limits read from the first observation in FLANGLIM, because this is the first observation for which _VAR_ equals FLWIDTH and _SUBGRP_ equals SAMPLE:
proc shewhart history=flange limits=flanlim; xchart flwidth*sample / readphase = all phaseref phaselegend cframe = vibg cinfill = ywh cconnect = salmon; run;The chart is shown in Figure 47.13. Note that an identical chart would be produced if you were to omit the READPHASES= option (except that the phase reference lines and phase legends would be omitted).
The procedure generates an error message.
The following tables summarize the various combinations of the READPHASES= and READINDEXES= options that you can specify.
Table 47.2: READINDEXES=index-value
READPHASES= | Phases Displayed | Control Limits Displayed |
phase-value | _PHASE_ = phase-value | _INDEX_ = index-value |
phase-value list | _PHASE_ = phase-value list | _INDEX_ = index-value |
Keyword ALL | _PHASE_ = index-value | _INDEX_ = index-value |
Not Specified | All phases | _INDEX_ = index-value |
Table 47.3: READINDEXES=index-value list
READPHASES= | Phases Displayed | Control Limits Displayed |
phase-value | No chart displayed | No chart displayed |
phase-value list | _PHASE_ = phase-value list | _INDEX_ = index-value list with control limits matched to phases in the order listed |
Keyword ALL | _PHASE_ = index-value list | _INDEX_ = index-value list |
Not Specified | _PHASE_ = index-value list | _INDEX_ = index-value list |
Table 47.4: READINDEXES=ALL
READPHASES= | Phases Displayed | Control Limits Displayed |
phase-value | _PHASE_ = phase-value | _INDEX_ = phase-value |
phase-value list | _PHASE_ = phase-value list | _INDEX_ = phase-value list |
Keyword ALL | _PHASE_ = _INDEX_ | _INDEX_ = _PHASE_ |
Not Specified | _PHASE_ = _INDEX_ | _INDEX_ = _PHASE_ |
Table 47.5: READINDEXES= Not Specified
READPHASES= | Phases Displayed | Control Limits Displayed |
phase-value | _PHASE_ = phase-value | First LIMITS= observation for which _VAR_=process name and _SUBGRP_=subgroup-variable name |
phase-value list | _PHASE_ = phase-value list | same as previous entry |
Keyword ALL | All phases | same as previous entry |
Not Specified | All phases | same as previous entry |
Chapter Contents |
Previous |
Next |
Top |
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.