********************************************************************* APRIL 17, 2012 9:00 AM This is an example of a SAS program that creates a SAS file from the 2011 NHIS Public Use ADLTDISB.DAT ASCII file This is stored in ADLTDISB.SAS *********************************************************************; * USER NOTE: PLACE NEXT STATEMENT IN SUBSEQUENT PROGRAMS; LIBNAME NHIS "C:\NHIS2011"; * USER NOTE: PLACE NEXT STATEMENT IN SUBSEQUENT PROGRAMS IF YOU ALLOW PROGRAM TO PERMANENTLY STORE FORMATS; LIBNAME LIBRARY "C:\NHIS2011"; FILENAME ASCIIDAT 'C:\NHIS2011\ADLTDISB.dat'; * DEFINE VARIABLE VALUES FOR REPORTS; * USE THE STATEMENT "PROC FORMAT LIBRARY=LIBRARY" TO PERMANENTLY STORE THE FORMAT DEFINITIONS; * USE THE STATEMENT "PROC FORMAT" IF YOU DO NOT WISH TO PERMANENTLY STORE THE FORMATS; PROC FORMAT LIBRARY=LIBRARY; *PROC FORMAT; VALUE $GROUPC ' '< - HIGH = "Range of Values" ; VALUE GROUPN LOW - HIGH = "Range of Values" ; VALUE ADP001X 10 = "10 Household" 20 = "20 Person" 25 = "25 Income Imputation" 30 = "30 Sample Adult" 31 = "31 Sample Adult Cancer" 38 = "38 Functioning and Disability" 39 = "39 Adult Disability Questions Test" 40 = "40 Sample Child" 49 = "49 Child Disability Questions Test" 60 = "60 Family" 63 = "63 Family Disability Questions Test" 65 = "65 Paradata" 70 = "70 Injury/Poisoning Episode" 75 = "75 Injury/Poisoning Verbatim" ; VALUE ADP002X . = '.' OTHER = "Survey Year" ; VALUE ADP004X 1 = "1 Quarter 1" 2 = "2 Quarter 2" 3 = "3 Quarter 3" 4 = "4 Quarter 4" ; VALUE ADP005X 01 = "01 January" 02 = "02 February" 03 = "03 March" 04 = "04 April" 05 = "05 May" 06 = "06 June" 07 = "07 July" 08 = "08 August" 09 = "09 September" 10 = "10 October" 11 = "11 November" 12 = "12 December" ; VALUE ADP011X 1 = "1 Families selected to receive ADB (sample adults) and CDB (sample children 1-1 7 years) sections" 2 = "2 Families selected to receive FDB (all persons 1 year and older) and AFD (samp le adults) sections" ; VALUE ADP012X 1 = "1 Yes" 2 = "2 No" 7 = "7 Refused" 8 = "8 Not ascertained" 9 = "9 Don't know" ; DATA NHIS.ADLTDISB; * CREATE A SAS DATA SET; INFILE ASCIIDAT PAD LRECL=37; * DEFINE LENGTH OF ALL VARIABLES; LENGTH /* IDN LENGTHS */ RECTYPE 3 SRVY_YR 4 HHX $ 6 INTV_QRT 3 INTV_MON 3 FMX $ 2 FPX $ 2 WTFA_ADB 8 /* UCF LENGTHS */ STRAT_P 4 PSU_P 3 /* FDB LENGTHS */ FDRN_FLG 3 /* ADB LENGTHS */ P2DAHEAR 3 P2DASEE 3 P2DACON 3 P2DAWALK 3 P2DADRES 3 P2DAERR 3 ; * INPUT ALL VARIABLES; INPUT /* IDN LOCATIONS */ RECTYPE 1 - 2 SRVY_YR 3 - 6 HHX $ 7 - 12 INTV_QRT 13 - 13 INTV_MON 14 - 15 FMX $ 16 - 17 FPX $ 18 - 19 WTFA_ADB 20 - 25 /* UCF LOCATIONS */ STRAT_P 26 - 28 PSU_P 29 - 30 /* FDB LOCATIONS */ FDRN_FLG 31 - 31 /* ADB LOCATIONS */ P2DAHEAR 32 - 32 P2DASEE 33 - 33 P2DACON 34 - 34 P2DAWALK 35 - 35 P2DADRES 36 - 36 P2DAERR 37 - 37 ; * DEFINE VARIABLE LABELS; LABEL /* IDN LABELS */ RECTYPE ="File type identifier" SRVY_YR ="Year of National Health Interview Survey" HHX ="Household Number" INTV_QRT ="Interview Quarter" INTV_MON ="Interview Month" FMX ="Family Number" FPX ="Person Number (Within family)" WTFA_ADB ="Weight - Final Annual Adult Disability Questions Test file" /* UCF LABELS */ STRAT_P ="Pseudo-stratum for public-use file variance estimation" PSU_P ="Pseudo-PSU for public-use file variance estimation" /* FDB LABELS */ FDRN_FLG ="Disability Questions Test flag" /* ADB LABELS */ P2DAHEAR ="Is--deaf or have serious difficulty hearing?" P2DASEE = "Is--blind or have serious difficulty seeing even when wearing glasses?" P2DACON = "Does--have serious difficulty concentrating, remembering, or making decisions?" P2DAWALK ="Does--have serious difficulty walking or climbing stairs?" P2DADRES ="Does--have difficulty dressing or bathing?" P2DAERR ="Does--have difficulty doing errands?" ; * ASSOCIATE VARIABLES WITH FORMAT VALUES; * (PUT ASTERISK (*) BEFORE WORD "FORMAT" IN NEXT STATEMENT TO PREVENT FORMAT ASSOCIATIONS BEING STORED WITH DATA SET); FORMAT /* IDN FORMAT ASSOCIATIONS */ RECTYPE ADP001X. SRVY_YR ADP002X. HHX $GROUPC. INTV_QRT ADP004X. INTV_MON ADP005X. WTFA_ADB GROUPN. /* UCF FORMAT ASSOCIATIONS */ /* FDB FORMAT ASSOCIATIONS */ FDRN_FLG ADP011X. /* ADB FORMAT ASSOCIATIONS */ P2DAHEAR ADP012X. P2DASEE ADP012X. P2DACON ADP012X. P2DAWALK ADP012X. P2DADRES ADP012X. P2DAERR ADP012X.; RUN; PROC CONTENTS DATA=NHIS.ADLTDISB; TITLE1 'CONTENTS OF THE 2011 NHIS Adult Disability Questions Test FILE'; PROC FREQ DATA=NHIS.ADLTDISB NOTITLE; TABLES RECTYPE/LIST MISSING; TITLE1 'FREQUENCY REPORT FOR 2011 NHIS Adult Disability Questions Test FILE'; TITLE2 '(WEIGHTED)'; WEIGHT WTFA_ADB; PROC FREQ DATA=NHIS.ADLTDISB NOTITLE; TABLES RECTYPE/LIST MISSING; TITLE1 'FREQUENCY REPORT FOR 2011 NHIS Adult Disability Questions Test FILE'; TITLE2 '(UNWEIGHTED)'; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;