Uniformly Weighted Moving Average Chart
/*******************************************************************/
/* S A S S A M P L E L I B R A R Y */
/* */
/* NAME: MACMA1 */
/* TITLE: Uniformly Weighted Moving Average Chart */
/* PRODUCT: QC */
/* SYSTEM: ALL */
/* KEYS: Moving Average Charts, */
/* PROCS: MACONTROL */
/* DATA: */
/* */
/* SUPPORT: saswgr */
/* REF: PROC MACONTROL, MACHART Statement, Getting Started */
/* */
/*******************************************************************/
data Clips1;
input Day @ ;
do i=1 to 5;
input Gap @ ;
output;
end;
drop i;
datalines;
1 14.76 14.82 14.88 14.83 15.23
2 14.95 14.91 15.09 14.99 15.13
3 14.50 15.05 15.09 14.72 14.97
4 14.91 14.87 15.46 15.01 14.99
5 14.73 15.36 14.87 14.91 15.25
6 15.09 15.19 15.07 15.30 14.98
7 15.34 15.39 14.82 15.32 15.23
8 14.80 14.94 15.15 14.69 14.93
9 14.67 15.08 14.88 15.14 14.78
10 15.27 14.61 15.00 14.84 14.94
11 15.34 14.84 15.32 14.81 15.17
12 14.84 15.00 15.13 14.68 14.91
13 15.40 15.03 15.05 15.03 15.18
14 14.50 14.77 15.22 14.70 14.80
15 14.81 15.01 14.65 15.13 15.12
16 14.82 15.01 14.82 14.83 15.00
17 14.89 14.90 14.60 14.40 14.88
18 14.90 15.29 15.14 15.20 14.70
19 14.77 14.60 14.45 14.78 14.91
20 14.80 14.58 14.69 15.02 14.85
;
title 'The Data Set Clips1';
proc print data=Clips1(obs=15) noobs;
run;
ods graphics off;
title 'Moving Average Chart for Gap Measurements';
proc macontrol data=Clips1;
machart Gap*Day / span=3;
run;
data Clipsum;
input Day GapX GapS;
GapN=5;
datalines;
1 14.904 0.18716
2 15.014 0.09317
3 14.866 0.25006
4 15.048 0.23732
5 15.024 0.26792
6 15.126 0.12260
7 15.220 0.23098
8 14.902 0.17254
9 14.910 0.19824
10 14.932 0.24035
11 15.096 0.25618
12 14.912 0.16903
13 15.138 0.15928
14 14.798 0.26329
15 14.944 0.20876
16 14.896 0.09965
17 14.734 0.22512
18 15.046 0.24141
19 14.702 0.17880
20 14.788 0.16634
;
title 'The Data Set Clipsum';
proc print data=Clipsum(obs=5) noobs;
run;
options nogstyle;
symbol color=salmon h=0.8;
title 'Moving Average Chart for Gap Measurements';
proc macontrol history=Clipsum;
machart Gap*Day / span = 3
cframe = steel
cinfill = vpab
cconnect = yellow
coutfill = salmon;
run;
options gstyle;
title 'Summary Data Set for Gap Measurements';
proc macontrol data=Clips1;
machart Gap*Day / span = 3
outhistory = Cliphist
nochart;
run;
proc print data=Cliphist(obs=5) noobs;
run;
title 'Control Limit Parameters';
proc macontrol data=Clips1;
machart Gap*Day / span = 3
outlimits = Cliplim
nochart;
run;
proc print data=Cliplim noobs;
run;
title 'Summary Statistics and Control Limits';
proc macontrol data=Clips1;
machart Gap*Day / span = 3
outtable = Cliptab
nochart;
run;
proc print data=Cliptab noobs;
run;
data Clips1a;
label Gap='Gap Measurement (mm)';
input Day @;
do i=1 to 5;
input Gap @;
output;
end;
drop i;
datalines;
21 14.86 15.01 14.67 14.67 15.07
22 14.93 14.53 15.07 15.10 14.98
23 15.27 14.90 15.12 15.10 14.80
24 15.02 15.21 14.93 15.11 15.20
25 14.90 14.81 15.26 14.57 14.94
26 14.78 15.29 15.13 14.62 14.54
27 14.78 15.15 14.61 14.92 15.07
28 14.92 15.31 14.82 14.74 15.26
29 15.11 15.04 14.61 15.09 14.68
30 15.00 15.04 14.36 15.20 14.65
31 14.99 14.76 15.18 15.04 14.82
32 14.90 14.78 15.19 15.06 15.06
33 14.95 15.10 14.86 15.27 15.22
34 15.03 14.71 14.75 14.99 15.02
35 15.38 14.94 14.68 14.77 14.83
36 14.95 15.43 14.87 14.90 15.34
37 15.18 14.94 15.32 14.74 15.29
38 14.91 15.15 15.06 14.78 15.42
39 15.34 15.34 15.41 15.36 14.96
40 15.12 14.75 15.05 14.70 14.74
;
ods graphics on;
title 'Moving Average Chart for Second Set of Gap Measurements';
proc macontrol data=Clips1a limits=Cliplim;
machart Gap*Day / odstitle=title;
run;