As I said, I'm a new SAS user. I've changed the coding throughout so that SET statements create a new data set that is a modified version of the data set in the DATA statement. I ran PROC contents (see bolded section): DATA merge.FullData6; SET merge.FullData5; ARRAY new (3) C_PedsQLC_P01 - C_PedsQLC_P03; ARRAY old (3) C_PedsQLC_P1 - C_PedsQLC_P3; Do i=1 to 3; if old(i)=0 then new(i)=100; else if old(i)=1 then new(i)=75; else if old(i)=2 then new(i)=50; else if old(i)=3 then new(i)=25; else if old(i)=4 then new(i)=0; end; drop i; C_PQLpNum = N(of C_PedsQLC_P01 C_PedsQLC_P02 C_PedsQLC_P03); If C_PQLpNum GE 2 then C_PQLpTot = sum(C_PedsQLC_P01,C_PedsQLC_P02,C_PedsQLC_P03)/C_PQLpNum; RUN; PROC CONTENTS DATA=merge.FullData6; RUN; PROC MEANS DATA=merge.FullData6; VAR C_PQLpTot; RUN; And received this error (again, see bold): 169 170 PROC CONTENTS DATA=merge.FullData6; 171 RUN; ERROR: Unable to restore 'Base.Contents.Attributes' from template store! NOTE: PROCEDURE CONTENTS used (Total process time): real time 0.01 seconds cpu time 0.01 seconds NOTE: The SAS System stopped processing this step because of errors. 172 173 PROC MEANS DATA=merge.FullData6; 174 VAR C_PQLpTot; 175 RUN; NOTE: The SAS System stopped processing this step because of errors. NOTE: There were 423 observations read from the data set MERGE.FULLDATA6. NOTE: PROCEDURE MEANS used (Total process time): real time 0.01 seconds cpu time 0.00 seconds
... View more