Hi all,
I am a new SAS user and would like to seek your advice on this error; when i tried running a summary statistics with various variables like Age and Progestrone
This is my code:
libname mc '/folders/myfolders/research';
proc import out= mc.complieddata datafile= "/folders/myfolders/Research/Master List 07062020 SAS.xlsx"
DBMS=xlsx Replace; SHEET="Data Complied From Both Studies";
GETNAMES=YES;
RUN;
data import; set research.import;
if Preg_Group in ('Miscarriage' 'Normal');
if BMI >28 then BMI_cat = 'BMI >28 ';
else if 19 <= BMI < 23 then BMI_cat = '19<=BMI<23';
else BMI_cat = 'BMI Other ';
if Age <32 then Age_cat = 'Age <32 ';
else if Age >= 32 then Age_cat = 'Age >=32';
ln_Progestrone = log(Progestrone_nmol_L);
run;
title 'Cross tabulation on BMI and Age category groups';
proc freq data=import; tables BMI_cat*Preg_Group/fisher; where BMI_cat ^= 'BMI Other '; run;
proc freq data=import; tables Age_cat*Preg_Group/fisher; run;
run;
title 'Summary statistics';
proc means data=import ndec=2 n mean std median p25 p75 min max; var Age BMI Progestrone_nmol_L; run;
This was the log it generated:
1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK; 72 73 libname mc '/folders/myfolders/research'; NOTE: Libref MC was successfully assigned as follows: Engine: V9 Physical Name: /folders/myfolders/research 74 75 proc import out= mc.complieddata datafile= "/folders/myfolders/Research/Master List 07062020 SAS.xlsx" 76 DBMS=xlsx Replace; 76 ! SHEET="Data Complied From Both Studies"; 77 GETNAMES=YES; 78 RUN; NOTE: Variable Name Change. Preg Group -> Preg_Group NOTE: Variable Name Change. Subject number -> Subject_number NOTE: Variable Name Change. Progestrone nmol/L -> Progestrone_nmol_L NOTE: Variable Name Change. Screen/Incl/Excl -> Screen_Incl_Excl NOTE: Variable Name Change. Enrollment Date -> Enrollment_Date NOTE: Variable Name Change. GA in weeks -> GA_in_weeks NOTE: Variable Name Change. F/U Date 16th Wk -> F_U_Date_16th_Wk NOTE: Variable Name Change. F/U Date 40th Wk -> F_U_Date_40th_Wk NOTE: Variable Name Change. 16 week miscarriage -> _16_week_miscarriage NOTE: Variable Name Change. 40 week miscarriage -> _40_week_miscarriage NOTE: Variable Name Change. Chromosomal Aberration (Y/N) -> VAR18 NOTE: Variable Name Change. Chromosomal Aberration (Descript -> Chromosomal_Aberration__Descript NOTE: Variable Name Change. Threatened Miscarriage (Y/N) -> VAR20 NOTE: Variable Name Change. Spontaneous Miscarriage (Y/N) -> VAR21 NOTE: Variable Name Change. IUGS & YS (Y/N) -> VAR22 NOTE: Variable Name Change. Completed? -> Completed_ NOTE: One or more variables were converted because the data type is not supported by the V9 engine. For more details, run with options MSGLEVEL=I. NOTE: The import data set has 170 observations and 24 variables. NOTE: MC.COMPLIEDDATA data set was successfully created. NOTE: PROCEDURE IMPORT used (Total process time): real time 0.25 seconds cpu time 0.17 seconds 79 80 data import; set research.import; 81 82 if Preg_Group in ('Miscarriage' 'Normal'); 83 84 if BMI >28 then BMI_cat = 'BMI >28 '; 85 else if 19 <= BMI < 23 then BMI_cat = '19<=BMI<23'; 86 else BMI_cat = 'BMI Other '; 87 88 if Age <32 then Age_cat = 'Age <32 '; 89 else if Age >= 32 then Age_cat = 'Age >=32'; 90 91 ln_Progestrone = log(Progestrone_nmol_L); 92 93 run; NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column). 84:9 85:15 91:22 NOTE: Invalid numeric data, BMI='N.A' , at line 84 column 9. NOTE: Invalid numeric data, BMI='N.A' , at line 85 column 15. Preg_Group=Miscarriage Subject_number=LTNP Age=37 BMI=N.A AM= PM= Progestrone_nmol_L=8 Screen_Incl_Excl=Included Enrollment_Date=. GA_in_weeks=IUGS & YS GA=6 FP=No FH= F_U_Date_16th_Wk= F_U_Date_40th_Wk= _16_week_miscarriage=Yes _40_week_miscarriage=N.A VAR18=Y Chromosomal_Aberration__Descript=Male profile with trisomy 16 VAR20=Y VAR21=Y VAR22=Y Completed_=Completed Remarks= BMI_cat=BMI Other Age_cat=Age >=32 ln_Progestrone=2.0794415417 _ERROR_=1 _N_=34 NOTE: Invalid numeric data, BMI='N.A' , at line 84 column 9. NOTE: Invalid numeric data, BMI='N.A' , at line 85 column 15. Preg_Group=Normal Subject_number=7 Age=24 BMI=N.A AM=N.A PM=16.4 Progestrone_nmol_L=51.47 Screen_Incl_Excl=Included Enrollment_Date=42857 GA_in_weeks=8+3 GA=8.43 FP=Yes FH=Yes F_U_Date_16th_Wk=42910 F_U_Date_40th_Wk=43077 _16_week_miscarriage=No _40_week_miscarriage=No VAR18= Chromosomal_Aberration__Descript= VAR20=Y VAR21=N VAR22=N Completed_=Completed Remarks= BMI_cat=BMI Other Age_cat=Age <32 ln_Progestrone=3.9409991137 _ERROR_=1 _N_=47 NOTE: There were 170 observations read from the data set RESEARCH.IMPORT. NOTE: The data set WORK.IMPORT has 114 observations and 27 variables. NOTE: DATA statement used (Total process time): real time 0.02 seconds cpu time 0.02 seconds 94 95 title 'Cross tabulation on BMI and Age category groups'; 96 proc freq data=import; tables BMI_cat*Preg_Group/fisher; where BMI_cat ^= 'BMI Other '; run; NOTE: There were 61 observations read from the data set WORK.IMPORT. WHERE BMI_cat not = 'BMI Other '; NOTE: PROCEDURE FREQ used (Total process time): real time 0.23 seconds cpu time 0.22 seconds 97 proc freq data=import; tables Age_cat*Preg_Group/fisher; run; NOTE: There were 114 observations read from the data set WORK.IMPORT. NOTE: PROCEDURE FREQ used (Total process time): real time 0.18 seconds cpu time 0.16 seconds 98 99 100 run; 101 102 title 'Summary statistics'; 103 proc means data=import ndec=2 n mean std median p25 p75 min max; var Age BMI Progestrone_nmol_L; run; ERROR: Variable BMI in list does not match type prescribed for this list. ERROR: Variable Progestrone_nmol_L in list does not match type prescribed for this list. NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE MEANS used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 104 105 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK; 117
Appreciate your advice on how to resolve the error.
Thank you 🙂
Hi! Thank you so much for pointing out the mistake! The issue was resolved when i created a new variable :)))
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.
Find more tutorials on the SAS Users YouTube channel.