Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
UNC Chapel Hill 2014 CTC Retreat - SAS Proc codebook sheps
1. PROC_CODEBOOK:
An Automated, General Purpose
Codebook Generator
Kim Chantala,
email: kim_chantala@unc.edu
Sheps Center for Health Services Research
Jim Terry
email: jim_terry@unc.edu
Carolina Population Center
University of North Carolina at Chapel Hill
2. 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.
3. Sample Code
%include 'C:My_projectHWT_short_formats.sas';
%include ' C:My_projectproc_codebook.sas';
libname here 'C:My_project';
title1 'CODEBOOK FOR WAY TO HEALTH BASELINE HEIGHT/WEIGHT DATA';
footnote 'Created by: hwt_base_codebook.sas';
%let organization=One Record per Participant (ID);
%proc_codebook(lib=here,
file1=hwt_base,
fmtlib=work.formats,
pdffile=hwt_base_codebook.pdf);
run;
5. 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.
6. 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;
7. 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);
9. 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.
10. Warning Messages
Categories of formats not used by a variable
Variables that have missing data for all
observations
Variables that are constant
11. Tips on embellishing your codebook:
Add a LOGO to the codebook
%let organization=One Record per ORGID*INJURY_DATE*INJURY_TYPE;
ods escapechar='~';
title1 j=c '~S={preimage="H:datalysLogodatalys_color_logo_final.JPG"}';
title2 j=l "CODEBOOK: Women's Volleyball Injury Data Set 2004-05 to 2008-
09";
footnote1 j=l 'SAS data set: injwvb0409.sas7bdat';
footnote2 j=l 'Created by H:datalysChantalaData Dec2009injwvb0409.sas';
footnote3 'Listed Format assignment not always stored with permanent SAS
data set';
%proc_codebook(lib=work,
file1=injwvb0409,
fmtlib=work.formats,
pdffile=C:My_projectinjwvb0409_codebook.pdf,
include_warn=NO);
13. SAS CODE
The SAS codebook macro & documentation can be downloaded from the
following location:
http://www.cpc.unc.edu/research/tools/data_analysis/proc_codebook