Upload
mark-carter
View
217
Download
1
Embed Size (px)
Citation preview
Formats to the Rescue
Gary McQuown Data and Analytic Solutions Inc.
Fairfax, VA.
Combining Data
A
B
C
MERGE
SQL JOINKey
Combining Data
INDEXA
B
C
Combining Data
HASHINGA
C
B
Combining DataA
G
C
E
D
C
B
HF
I
J
FORMATSKey W
Key ZKey YKey X
Issues
Sorts or Index are Impractical
Many “Small” Tables
Frequently Used Process
Efficiency
Ease of Use
Formats
Table lookup
Associate one value with another
format date date9.; 09OCT2006
format zip cityz. ; New York
put ( start , $myfmt. )
First Name, Last Name, DEA #, EIN, SSN, DOB, Specialty, Complaints, Office Address, Home Address, States Licensed, Drug Class Allowed, Sanctions, etc.
Drug Names, Drug Category, Drug Class
Latitude, Longitude, City, County, State
Advantages
No Sorting of Primary File
Sort Smaller Files
Unique Start Values
Advantages
Efficient
(where=( put(start, $myfmt.) = “1” ))
Reads only selected rows
Advantages
Flexible
var = put(start, $myfmt.);
if put(start, $myfmt.) = “XX”
format (start, myfmt.)
Advantages
Reusable
(library = library) Catalogs
Reduces Coding (replaces if then !)
Easily Update
Easy to Create
Numeric
proc format;
value SexNum
1=“Male“
0=“Female”;
run;
Character
proc format;
value $ SexChar
‘1’=“Male“
‘0’=“Female”;
run;
proc sort data= FOO nodupkey; by FROM_VAL; run;
data MYFMT (keep = fmtname hlo label start type);
retain fmtname “MYFMT”
type “N”;
set FOO;
end = lastrec;
start = FROM_VAL;
label = TO_VAL;
output;
if lastrec then
do;
hlo = “O”;
label = “0”;
output;
end;
run;
proc format cntlin = MYFMT library=library; run;
FMTNAME = name
TYPE = “C” “N” “I” “J” “P”
START =values to be converted.
LABEL =values to become.
HLO = “H” “L” “O”
proc sort
data= FOO nodupkey;
by FROM_VAL;
run;
data MYFMT
(keep = fmtname hlo
label start type);
retain fmtname “MYFMT”
type “N”;
set FOO;
end = lastrec;
start = FROM_VAL;
label = TO_VAL;
output;
if lastrec then
do;
hlo = “O”;
label = “0”;
output;
end;
run;
Other, HI and LOW
Dept_Num =put(EMPID, Department_Number.);Dept_Name =put(Dep_num, Department_Name.);Grade_Level =put(EMP_ID, Grade_Level.);Full_Name =put(EMPID, Full_Name.);
Dept_Name Full_Name EMP_ID Dept_Num Grade_Level
IT John Doe 13579 3 7
Management 24680 24680 2 2
Unknown Unknown 24680 0 0
Other, HI and LOW
Dept_Num =put(EMPID, Department_Number.);Dept_Name =put(Dep_num, Department_Name.);Grade_Level =put(EMP_ID, Grade_Level.);Full_Name =put(EMPID, Full_Name.);
Dept_Name Full_Name EMP_ID Dept_Num Grade_Level
IT John Doe 13579 3 7
Management 24680 24680 2 2
Unknown Unknown 24680 0 0
Other, HI and LOW
Dept_Num =put(EMPID, Department_Number.);Dept_Name =put(Dep_num, Department_Name.);Grade_Level =put(EMP_ID, Grade_Level.);Full_Name =put(EMPID, Full_Name.);
Dept_Name Full_Name EMP_ID Dept_Num Grade_Level
IT John Doe 13579 3 7
Management 24680 24680 2 2
Unknown Unknown 24680 0 0
OPTIONS
FMTSEARCH to search Libraries
NOFMTERR use original values if the format does not exist
Formats
Merging
Matching
Sub Setting
New Variables
Data Cleaning
Reporting
Analysis
Large Tables
Many Tables
Many Key Fields
Flexibility
Efficiency
Easy to Use
Questionsand
Comments
Thank you
Gary McQuown Data and Analytic Solutions Inc.
Fairfax, VA.703-628-5681
http://www.DASconsultants.com
SAS is a Registered Trademark of the SAS Institute, Inc. of Cary, North Carolina.