PCHART Statement: SHEWHART Procedure

Input Data Sets

DATA= Data Set

You can read raw data (counts of nonconforming items) from a DATA= data set specified in the PROC SHEWHART statement. Each process specified in the PCHART statement must be a SAS variable in the DATA= data set. This variable provides counts for subgroup samples indexed by the values of the subgroup-variable. The subgroup-variable, which is specified in the PCHART statement, must also be a SAS variable in the DATA= data set. Each observation in a DATA= data set must contain a count for each process and a value for the subgroup-variable. The data set must contain one observation for each subgroup. Note that you can specify the DATAUNIT= option in the PCHART statement to read proportions or percentages of nonconforming items instead of counts. Other variables that can be read from a DATA= data set include

  • _PHASE_ (if the READPHASES= option is specified)

  • block-variables

  • symbol-variable

  • BY variables

  • ID variables

When you use a DATA= data set with the PCHART statement, the SUBGROUPN= option (which specifies the subgroup sample size) is required. By default, the SHEWHART procedure reads all of the observations in a DATA= 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 (for an example, see Displaying Stratification in Phases).

For an example of a DATA= data set, see Creating p Charts from Count Data.

LIMITS= Data Set

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:[69]

proc shewhart data=Info limits=Conlims;
   pchart Rejects*Batch / subgroupn= 100;
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 _LCLP_, _P_, and _UCLP_, which specify the control limits directly

  • the variable _P_, without providing _LCLP_ and _UCLP_. The value of _P_ is used to calculate the control limits according to the equations in Control Limits.

In addition, note the following:

  • The variables _VAR_ and _SUBGRP_ are required. These must be character variables whose lengths are no greater than 32.

  • The variable _INDEX_ is required if you specify the READINDEX= option; this must be a character variable whose length is no greater than 48.

  • 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' and 'STANDARD'.

  • BY variables are required if specified with a BY statement.

For an example, see Reading Preestablished Control Limits.

HISTORY= Data Set

You can read subgroup summary statistics from a HISTORY= data set specified in the PROC SHEWHART statement. This enables you to reuse OUTHISTORY= data sets that have been created in previous runs of the SHEWHART procedure or to create your own HISTORY= data set.

A HISTORY= data set used with the PCHART statement must contain the following:

  • the subgroup-variable

  • a subgroup proportion of nonconforming items variable for each process

  • a subgroup sample size variable for each process

The names of the proportion sample size variables must be the process name concatenated with the special suffix characters P and N, respectively.

For example, consider the following statements:

proc shewhart history=Summary;
   pchart (Rework Rejected)*Batch / subgroupn=50;
run;

The data set Summary must include the variables Batch, ReworkP, ReworkN, RejectedP, and RejectedN.

Note that if you specify a process name that contains 32 characters, the names of the summary variables must be formed from the first 16 characters and the last 15 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)

  • block-variables

  • symbol-variable

  • BY variables

  • ID variables

By default, the SHEWHART procedure reads all of 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 p Charts from Summary Data.

TABLE= Data Set

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. Because the SHEWHART procedure simply displays the information read from a TABLE= data set, you can use TABLE= data sets to create specialized control charts. Examples are provided in Specialized Control Charts: SHEWHART Procedure.

The following table lists the variables required in a TABLE= data set used with the PCHART statement:

Table 17.46: Variables Required in a TABLE= Data Set

Variable

Description

_LCLP_

lower control limit for proportion of nonconforming items

_LIMITN_

nominal sample size associated with the control limits

_P_

average proportion of nonconforming items

subgroup-variable

values of the subgroup-variable

_SUBN_

subgroup sample size

_SUBP_

subgroup proportion of nonconforming items

_UCLP_

upper control limit for proportion of nonconforming items


Other variables that can be read from a TABLE= data set include

  • block-variables

  • symbol-variable

  • BY variables

  • ID variables

  • _PHASE_ (if the READPHASES= option is specified). This variable must be a character variable whose length is no greater than 48.

  • _TESTS_ (if the TESTS= option is specified). This variable is used to flag tests for special causes 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 whose length is no greater than 32.

For an example of a TABLE= data set, see Saving Control Limits.



[69] In SAS 6.09 and in earlier releases, it is necessary to specify the READLIMITS option.