********************************************************************* APRIL 5, 2013 6:43 AM This is an example of a SAS program that creates a SAS file from the 2012 NHIS Public Use FMLYDISB.DAT ASCII file This is stored in FMLYDISB.SAS *********************************************************************; * USER NOTE: PLACE NEXT STATEMENT IN SUBSEQUENT PROGRAMS; LIBNAME NHIS "C:\NHIS2012"; * USER NOTE: PLACE NEXT STATEMENT IN SUBSEQUENT PROGRAMS IF YOU ALLOW PROGRAM TO PERMANENTLY STORE FORMATS; LIBNAME LIBRARY "C:\NHIS2012"; FILENAME ASCIIDAT 'C:\NHIS2012\FMLYDISB.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 FDP001X 10 = "10 Household" 20 = "20 Person" 25 = "25 Income Imputation" 30 = "30 Sample Adult" 31 = "31 Sample Adult Cancer" 34 = "34 Adult Alternative Medicine" 38 = "38 Functioning and Disability" 39 = "39 Adult Disability Questions Test" 40 = "40 Sample Child" 44 = "44 Child Alternative Medicine" 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 FDP002X . = '.' OTHER = "Survey Year" ; VALUE FDP004X 1 = "1 Quarter 1" 2 = "2 Quarter 2" 3 = "3 Quarter 3" 4 = "4 Quarter 4" ; VALUE FDP005X 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 FDP011X 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) sections" ; VALUE FDP012X 1 = "1 Yes" 2 = "2 No" 7 = "7 Refused" 8 = "8 Not ascertained" 9 = "9 Don't know" ; DATA NHIS.FMLYDISB; * 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_FDB 8 /* UCF LENGTHS */ STRAT_P 4 PSU_P 3 /* FDB LENGTHS */ FDRN_FLG 3 P2DFHEAR 3 P2DFSEE 3 P2DFCON 3 P2DFWALK 3 P2DFDRES 3 P2DFERR 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_FDB 20 - 25 /* UCF LOCATIONS */ STRAT_P 26 - 28 PSU_P 29 - 30 /* FDB LOCATIONS */ FDRN_FLG 31 - 31 P2DFHEAR 32 - 32 P2DFSEE 33 - 33 P2DFCON 34 - 34 P2DFWALK 35 - 35 P2DFDRES 36 - 36 P2DFERR 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_FDB ="Weight - Final Annual Family 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" P2DFHEAR ="Is--deaf or have serious difficulty hearing?" P2DFSEE = "Is--blind or have serious difficulty seeing even when wearing glasses?" P2DFCON = "Does--have serious difficulty concentrating, remembering, or making decisions?" P2DFWALK ="Does--have serious difficulty walking or climbing stairs?" P2DFDRES ="Does--have difficulty dressing or bathing?" P2DFERR ="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 FDP001X. SRVY_YR FDP002X. HHX $GROUPC. INTV_QRT FDP004X. INTV_MON FDP005X. WTFA_FDB GROUPN. /* UCF FORMAT ASSOCIATIONS */ /* FDB FORMAT ASSOCIATIONS */ FDRN_FLG FDP011X. P2DFHEAR FDP012X. P2DFSEE FDP012X. P2DFCON FDP012X. P2DFWALK FDP012X. P2DFDRES FDP012X. P2DFERR FDP012X.; RUN; PROC CONTENTS DATA=NHIS.FMLYDISB; TITLE1 'CONTENTS OF THE 2012 NHIS Family Disability Questions Test FILE'; PROC FREQ DATA=NHIS.FMLYDISB NOTITLE; TABLES RECTYPE/LIST MISSING; TITLE1 'FREQUENCY REPORT FOR 2012 NHIS Family Disability Questions Test FILE' ; TITLE2 '(WEIGHTED)'; WEIGHT WTFA_FDB; PROC FREQ DATA=NHIS.FMLYDISB NOTITLE; TABLES RECTYPE/LIST MISSING; TITLE1 'FREQUENCY REPORT FOR 2012 NHIS Family Disability Questions Test FILE' ; TITLE2 '(UNWEIGHTED)'; * USER NOTE: TO SEE UNFORMATTED VALUES IN PROCEDURES, ADD THE STATEMENT: FORMAT _ALL_; RUN;