150 likes | 308 Views
PROC_CODEBOOK: An Automated, General Purpose Codebook Generator. Kim Chantala, email: kim_chantala@unc.edu Dept of Health Behavior & Health Education Jim Terry email: jim_terry@unc.edu Carolina Population Center University of North Carolina at Chapel Hill. PROC_CODEBOOK.SAS.
E N D
PROC_CODEBOOK: An Automated, General Purpose Codebook Generator Kim Chantala, email: kim_chantala@unc.edu Dept of Health Behavior & Health Education Jim Terry email: jim_terry@unc.edu Carolina Population Center University of North Carolina at Chapel Hill
PROC_CODEBOOK.SAS • SAS macro program that is simple to use • User provides: • titles for the codebook • the file organization • SAS data set with labels and formats . • Output is a comprehensive, well formatted, easy to read codebook.
USING PROC_CODEBOOK.SAS • Create labels for all variables. • Data set must contain at least one formatted categorical variable and two numeric variables. • Assign FORMATs to all categorical variables. • Standard formats should be used that assign only one value or a range of values to a unique value label. • No testing has been done using hybrid formats or formats with multi-value labels. • Include a data set label on the SAS data file. • By default, the codebook is ordered by Variable Name.
ORDERING VARIABLES IN THE CODEBOOK • Create a simple two variable file called work.order before you call the macro. • NAME: a 32 character field with your variable name in UPPER CASE. • ORDER: a numeric field with the order you want the variables to print. • Example data step creating a work.order data set: data order; length name $ 32; name = "T1 "; ORDER = 1; OUTPUT; name = "HHID09"; ORDER = 2; OUTPUT; name = "LINE09"; ORDER = 3; OUTPUT; name = "H1D "; ORDER = 4; OUTPUT; run;
TITLES AND FOOTNOTES • TITLE1, TITLE2 and all FOOTNOTES are specified by user. • PROC_CODEBOOK creates the following titles: • TITLE4 lists the number of observations in data set. • TITLE5 lists the number of variables in the data set. • TITLE6 lists the organization of the data set and is specified in a global macro variable by the user: %let organization=One Record per Participant(ID);
PROC_CODEBOOK syntax %proc_codebook(lib=libname, file1=SAS_dataset, fmtlib=work.formats, pdffile=codebook_file.pdf, include_warn=NO);
The macro variables • Required Variables: • LIB = library for SAS data set (see FILE1 variable) • FILE1 = SAS data set used to create the codebook • FMTLIB = 2-level name of format library • PDFFILE = name of PDF file for the codebook • Optional Variables: • INCLUDE_WARN= flag to control printing of WARNING messages:* YES=prints warnings in codebook (default), * NO (or Any other text)=warnings printed only in LOG file.
Warning Messages • Categories of formats not used by a variable • Variables that have missing data for all observations • Variables that are constant
Tips on embellishing your codebook: Add a LOGO to the codebook
SAS CODE & DEMONSTRATION http://www.cpc.unc.edu/research/tools/data_analysis/proc_codebook