PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo

Size: px
Start display at page:

Download "PROC FORMAT. CMS SAS User Group Conference October 31, 2007 Dan Waldo"

Transcription

1 PROC FORMAT CMS SAS User Group Conference October 31, 2007 Dan Waldo 1

2 Today s topic: Three uses of formats 1. To improve the user-friendliness of printed results 2. To group like data values without affecting the underlying values themselves 3. To create a new variable that takes values based on the value of an existing variable 2

3 Full disclosure What will be covered Uses of SAS formats Retrieving SAS formats Making SAS formats Limitations Not all aspects of SAS formats will be explored... just the rudiments Examples will use PC-SAS v9 -- but except for JCL differences everything can be done on the mainframe as well. The information provided represents the opinion of the presenter only. It in no way represents the official policy of the Centers for Medicare & Medicaid Services nor the Department of Health and Human Services. Or the SAS Institute. Or anybody in Wisconsin Rapids, Wisconsin, for that matter. So there. 3

4 What is a format? Instrument that presents values for a variable in something other than their native look Assign a tag to a given value (e.g., MALE instead of 1) Group values together (e.g., DISABLED instead of 1 through 64) Gussy up a value (e.g. $1, instead of ) Does not change the native value of the variable 4

5 FORMAT vblname fmtnamew.d; vblname is the name of the variable to be formatted fmtname is the name of the format to be used formats that modify character variables must start with a $ format names do not end with a digit Note the period at the end of fmtname this convention identifies the name as a format W is optional, to specify the width of the resulting field D is also optional, to specify the number of decimals shown in numeric formats Association of fmtname with vblname persists Used in DATA step, remains in dataset Used in PROCs, remains in any downstream datasets Can be removed by null statement FORMAT vblname; 5

6 Where do you find formats? In the SAS system library In a permanent storage area known by the libname (ddname) LIBRARY In your temporary workspace, in a special folder called formats How did they get there? You put them there Somebody else put them there 6

7 Canned formats from SAS cover lots Character formats and lots of situations FORMAT lname upcase.; You have You see Waldo WALDO Numeric formats FORMAT people comma8.1; You have You see ,326.9 Date and time formats FORMAT fill_dte weekdatx.; You have You see Monday, 1 January

8 To get a list of SAS formats from online help, use these links

9 User-defined formats... are created using PROC FORMAT... are stored in a special subsection of WORK... or in a special LIBNAME (ddname) called LIBRARY Can be either a PICTURE overlay or a VALUE translator 9

10 PICTUREs simply lay a template over the native value Numeric data are presented with punctuation of your choosing Advantage of this over other types of formats You can scale the data round off to thousands, or millions, or even both with the same PICTURE Disadvantage of PICTURE SAS does not round off data that are being scaled 10

11 Numbers up to a million are shown in thousands, others in millions Notice: no rounding Notice that the scale factor has to account for decimal places, because the display is not a true number 11

12 VALUEs convert one or more native values to a text representation Numeric data can be shown as numbers or text Likewise for character data Advantage Unlike PICTURE, you are not limited to displaying some form of the native value of the data Disadvantage You cannot scale numbers on the fly, as you can in PICTURE 12

13 The simplest use of formats is to improve the user-friendliness of printed output We want to list the sex of respondents to the Medicare Current Beneficiary Survey Suppose that we have a nominal variable called SEX: 1=male 2=female 13

14 Locate the data Create a user-defined format Print the native values of SEX libname h "h:\sas course\data"; proc format; value sexfmt 1="MALE 2="FEMALE other= UNKNOWN ; run; proc print data=h.bmi (obs=10); * Data Values as They Exist in the Dataset; var baseid sex; run; Print a more user-friendly listing of SEX proc print data=h.bmi (obs=10); *Formatted Data Values; var baseid sex; format sex sexfmt.; run; 14

15 Using the format, the output is more intelligible proc print data=h.bmi (obs=10); var baseid sex; run; Native values Obs baseid sex proc print data=h.bmi (obs=10); var baseid sex; format sex sexfmt.; run; Obs baseid sex MALE MALE MALE FEMALE FEMALE MALE FEMALE FEMALE FEMALE FEMALE What you see 15

16 Remember: 1. name must begin with a $if it modifies character variables 2. name cannot end with a digit So, what did we do? Invoked the FORMAT PROC Defined a format name (sexfmt) Associated individual values with a text replacement (note that we have not identified a specific variable containing these values proc format; value sexfmt 1="MALE 2="FEMALE other= UNKNOWN ; run; 16

17 Gussying up the output applies to PROCs, too... proc freq data=h.bmi;table sex;run; Gender of SP Cumulative Cumulative sex Frequency Percent Frequency Percent proc freq data=h.bmi;table sex;format sex sexfmt.;run; Gender of SP Cumulative Cumulative sex Frequency Percent Frequency Percent MALE FEMALE

18 Formats can clump values, in addition to handling single values proc format; value bmif 0-<18.5="Under" 18.5-<25.0="Normal" 25-<30.0="Over" 30-high="Obese" other="unknown"; run; 18

19 Range notation conventions 1-8 includes 1 and 8 1-<8 includes 1 but not 8 1<-8 includes 8 but not 1 1<-<8 includes neither 1 nor 8 low means the smallest value (excluding missing) high other means the largest value means values not mentioned (including missing, if it hasn t been mentioned) 19

20 Clumping Data in a Printed Report Used in PROCs that display and those that analyze Remember: the underlying data remain unchanged from their native state 20

21 proc print data=h.bmi (obs=10); var baseid bmi; run; Obs baseid bmi proc print data=h.bmi (obs=10); var baseid bmi; format bmi bmif.; run; Obs baseid bmi Over Normal Over Over Obese Unknown Obese Normal Under Obese Native values What you see 21

22 Formats that clump values can help you summarize data Applicable to PROCs that analyze data Characteristics of the output variable you get one record per data clump the formatted variable will retain the characteristics it had in the input dataset the native value of the variable will be the lowest native value for the data clump in the input dataset* the format used to clump the data will be associated with the variable in the output dataset * NOTE: This does not refer to the results of a DATA step in such a case the underlying value of the variable in each record is transferred intact 22

23 Notice how the format statement clumps data together in the FREQ 23

24 Clumping data in an output dataset proc summary data=h.bmi nway missing; class sex bmi; format sex sexfmt. bmi bmif.; output out=bmi_summ (drop=_type); run; proc print data=bmi_summ; format sex bmi; run; proc print data=bmi_summ; run; 24

25 This This turns turns the the formats off off proc print data=bmi_summ; format sex bmi; run; proc summary data=h.bmi nway missing; class sex bmi; format sex sexf. bmi bmif.; output out=bmi_summ (drop=_type_); run; proc print data=bmi_summ; run; Obs sex bmi _FREQ_ Obs sex bmi _FREQ_ 1 MALE Unknown 35 2 MALE Under MALE Normal MALE Over MALE Obese FEMALE Unknown 45 7 FEMALE Under FEMALE Normal FEMALE Over FEMALE Obese 2004 Native values What is displayed automatically 25

26 Use the MULTILABEL / MLF format option to get overlapping ranges This allows you to use overlapping ranges For example, we can look at average bmi over different age groups all at once. N.b.: This does NOT work with PROC FREQ proc format; value magef (multilabel) 0-64="1. Disabled" 0-44="1a. Under 45" 45-64="1b " 65-high="2. Aged" 65-74="2a " 75-84="2b " 85-high="2c. 85+"; run; proc means data=h.bmi print mean order=formatted; var bmi; class age /mlf; format age magef.; run; 26

27 MULTILABEL tells PROC FORMAT not to freak over overlapping ranges / MLF tells the PROC MEANS that overlapping ranges are involved 27

28 So... how do you know what formats you have? And what s in them? 28

29 Here we have specifically allocated h and library, which are added to the libraries SAS opens automatically. 29

30 Notice how creating a temporary format results in SAS making a subfolder within work called formats 30

31 PROC CATALOG commands ask SAS to list the formats in the library (here the permanent library) 31

32 The FMTLIB option in PROC FORMAT asks SAS to show the contents of the selected formats (notice: no period at the end of the format name!) 32

33 Mapping values from old variables to new variables There are 4 ways to do this in SAS IF...THEN...ELSE within a single dataset SELECT... END within a single dataset MERGE values from one dataset onto another Direct mapping using a SAS format within a single dataset 33

34 Mapping values from old variables to new variables using IF...THEN...ELSE Nice Nice if if there there are are a few few values, values, and and you you do do see see exactly exactly what what you re you re doing doing data bmi; set h.bmi; length cat $8; if sex=. then cat= Unknown ; else if sex=1 then cat= Male ; else cat= Female ; run; 34

35 Mapping values from old variables to new variables using SELECT...END data bmi; set h.bmi; length cat $8; select(sex); when(1) cat= Male ; when(2) cat= Female ; otherwise cat= Unknown ; end; run; Not Not so so much much typing typing as as with with the the IF IF chain; chain; notice notice that that you you need need an an OTHERWISE (which (which can can be be null) null) and and an an END END 35

36 Mapping values from old variables to new variables using Merge Previously... data sex_nm; infile cards; length cat $8; input sex cat; cards; 1 Male 2 Female ; run; proc sort data=h.bmi out=bmi; by sex; run; Useful Useful for for data bmi; of different merge bmi (in=a) sex_nm(in=b); by sex; if a; if not b then cat= Unknown ; run; bringing in in lots lots of different attributes at at the the same same time time 36

37 Mapping values from old variables to new variables using the put() function and a SAS format Previously... proc format; value sexf 1="Male 2="Female other= Unknown ; run; data bmi; set h.bmi; length cat $8; cat=put(sex,sexf.); run; Really Really terse, terse, but but the the format format values values come come from from a different part part of of the the program, which which requires user user diligence 37

38 All four roads lead to the same end, so which road should you choose? Lots of variables to add, and not so many unsorted observations? Try the merge Lots of sorted observations? Try the merge Lots of observations, but not many output values? Try the if...then...else or select Lots of unsorted observations, and lots of possible values? Try the format 38

39 Creating a SAS format from a dataset Verrrrry handy if you have a big format to create and the values are already electronic Dataset requires 3 variables with specific names: FMTNAME is a character variable that has the format name (e.g., SEXF ) START is a numeric or character variable (depending upon the format type) that has the raw value (e.g., 1) LABEL is a character variable that has the formatted value (e.g., Male ) Other variables can be used as well

40 To see how to create a SAS format from a dataset, let s dissect the work format library and see the variables involved 40

41 Creating a SAS format from a new dataset data good_golly; infile cards missover end=eof; retain fmtname "newbmif"; length label $8 eexcl hlo $1; input start end eexcl label; if start=. and end=. then hlo="o"; else if start=. then hlo="l"; else if end=. then hlo="h"; keep start end eexcl hlo label fmtname; cards; Y Underwgt Capital Y Normal O (not Y Overwgt zero) N Obese.. N Unknown ; proc format cntlin=good_golly;run; FMTNAME must contain a valid SAS format name alphanumeric begin and end with a letter start with $ for a character format If the variable to be formatted is continuous, each successive START should equal the previous END and EEXCL (or SEXCL) set to Y (Notice that I did not use sexcl or other formatting tools... this was just because of the nature of the format) 41

42 Good golly! It worked! 42

43 Example of creating a SAS format from an existing dataset The task Associate a drug name and an average wholesale price with records on a file summarizing drug events The key 11-digit National Drug Code (NDC) uniquely identifies the manufacturer, drug, form, strength, package size The data: Plan-submitted data from the discount card program (n=8.7 million) Each record is unique for NDC, plan, service type, and date The dictionary: FirstDataBank National Drug Data File (n=118,000) Each record is unique for NDC 43

44 First Step: Create a format to map drug name onto NDC 44

45 Next, create a format to map AWP onto NDC (note the use of the SAS best12 format) 45

46 Use PROC FORMAT to put the formats into the work library Apply the format to the NDC to get a drug name Use the awpf format to get a text version of the AWP, and then the SAS input() function and best12 format to turn it into a number 46

47 47

48 Thanks for Coming Today! Questions? Comments? Overwhelming urge to shower me with money? Contact Dan Waldo

Formats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD

Formats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD Formats, Informats and How to Program with Them Ian Whitlock, Westat, Rockville, MD Abstract Formats tell how to display stored data and informats how to read them. In other words, they allow the separation

More information

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2

PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 PHPM 672/677 Lab #2: Variables & Conditionals Due date: Submit by 11:59pm Monday 2/5 with Assignment 2 Overview Most assignments will have a companion lab to help you learn the task and should cover similar

More information

Multiple Facts about Multilabel Formats

Multiple Facts about Multilabel Formats Multiple Facts about Multilabel Formats Gwen D. Babcock, ew York State Department of Health, Troy, Y ABSTRACT PROC FORMAT is a powerful procedure which allows the viewing and summarizing of data in various

More information

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval

Epidemiology Principles of Biostatistics Chapter 3. Introduction to SAS. John Koval Epidemiology 9509 Principles of Biostatistics Chapter 3 John Koval Department of Epidemiology and Biostatistics University of Western Ontario What we will do today We will learn to use use SAS to 1. read

More information

PROC FORMAT Jack Shoemaker Real Decisions Corporation

PROC FORMAT Jack Shoemaker Real Decisions Corporation 140 Beginning Tutorials PROC FORMAT Jack Shoemaker Real Decisions Corporation Abstract: Although SAS stores and processes data intemally as either characters or numbers, you can control the external view

More information

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority

SAS 101. Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23. By Tasha Chapman, Oregon Health Authority SAS 101 Based on Learning SAS by Example: A Programmer s Guide Chapter 21, 22, & 23 By Tasha Chapman, Oregon Health Authority Topics covered All the leftovers! Infile options Missover LRECL=/Pad/Truncover

More information

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman Nov. 7+12, 2018

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman Nov. 7+12, 2018 CMU MSP 36-601: SAS FORMATs and INFORMATs Howard Seltman Nov. 7+12, 2018 1) Formats and informats flexibly re-represent data in a data set on input or output. Common uses include reading and writing dates,

More information

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman October 15, 2017

CMU MSP : SAS FORMATs and INFORMATs Howard Seltman October 15, 2017 CMU MSP 36-601: SAS FORMATs and INFORMATs Howard Seltman October 15, 2017 1) Informats are programs that convert ASCII (Unicode) text to binary. Formats are programs that convert binary to text. Both come

More information

Using an ICPSR set-up file to create a SAS dataset

Using an ICPSR set-up file to create a SAS dataset Using an ICPSR set-up file to create a SAS dataset Name library and raw data files. From the Start menu, launch SAS, and in the Editor program, write the codes to create and name a folder in the SAS permanent

More information

INTRODUCTION to SAS STATISTICAL PACKAGE LAB 3

INTRODUCTION to SAS STATISTICAL PACKAGE LAB 3 Topics: Data step Subsetting Concatenation and Merging Reference: Little SAS Book - Chapter 5, Section 3.6 and 2.2 Online documentation Exercise I LAB EXERCISE The following is a lab exercise to give you

More information

Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico

Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico PharmaSUG 2011 - Paper TT02 Create a Format from a SAS Data Set Ruth Marisol Rivera, i3 Statprobe, Mexico City, Mexico ABSTRACT Many times we have to apply formats and it could be hard to create them specially

More information

Create a SAS Program to create the following files from the PREC2 sas data set created in LAB2.

Create a SAS Program to create the following files from the PREC2 sas data set created in LAB2. Topics: Data step Subsetting Concatenation and Merging Reference: Little SAS Book - Chapter 5, Section 3.6 and 2.2 Online documentation Exercise I LAB EXERCISE The following is a lab exercise to give you

More information

Basic Concept Review

Basic Concept Review Basic Concept Review Quiz Using the Programming Workspace Referencing Files and Setting Options Editing and Debugging SAS Programs End of Review SAS Format Format Formats are variable

More information

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd

Paper # Jazz it up a Little with Formats. Brian Bee, The Knowledge Warehouse Ltd Paper #1495-2014 Jazz it up a Little with Formats Brian Bee, The Knowledge Warehouse Ltd Abstract Formats are an often under-valued tool in the SAS toolbox. They can be used in just about all domains to

More information

The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK

The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK Paper TT10 The FORMAT procedure - more than just a VALUE statement Lawrence Heaton-Wright, Quintiles, Bracknell, UK ABSTRACT The FORMAT procedure is most frequently used to define formats for variables.

More information

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide

WHO STEPS Surveillance Support Materials. STEPS Epi Info Training Guide STEPS Epi Info Training Guide Department of Chronic Diseases and Health Promotion World Health Organization 20 Avenue Appia, 1211 Geneva 27, Switzerland For further information: www.who.int/chp/steps WHO

More information

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT

TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT PRIMER FOR ACS OUTCOMES RESEARCH COURSE: TYPES OF VARIABLES, STRUCTURE OF DATASETS, AND BASIC STATA LAYOUT STEP 1: Install STATA statistical software. STEP 2: Read through this primer and complete the

More information

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma

%MAKE_IT_COUNT: An Example Macro for Dynamic Table Programming Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma Britney Gilbert, Juniper Tree Consulting, Porter, Oklahoma ABSTRACT Today there is more pressure on programmers to deliver summary outputs faster without sacrificing quality. By using just a few programming

More information

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2

SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Module 2 SAS PROGRAMMING AND APPLICATIONS (STAT 5110/6110): FALL 2015 Department of MathemaGcs and StaGsGcs Phone: 4-3620 Office: Parker 364- A E- mail: carpedm@auburn.edu Web: hup://www.auburn.edu/~carpedm/stat6110

More information

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200;

3. Almost always use system options options compress =yes nocenter; /* mostly use */ options ps=9999 ls=200; Randy s SAS hints, updated Feb 6, 2014 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, first version: March 8, 2013 ***************; 2. Don

More information

Beyond FORMAT Basics Mike Zdeb, School of Public Health, Rensselaer, NY

Beyond FORMAT Basics Mike Zdeb, School of Public Health, Rensselaer, NY Beyond FORMAT Basics Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY ABSTRACT Beginning and even intermediate level SAS users sometimes never venture beyond the basics in using formats.

More information

Introduction to SAS Mike Zdeb ( , #61

Introduction to SAS Mike Zdeb ( , #61 Mike Zdeb (402-6479, msz03@albany.edu) #61 FORMAT, you can design informats for reading and interpreting non-standard data, and you can design formats for displaying data in non-standard ways....example

More information

using and Understanding Formats

using and Understanding Formats using and Understanding SAS@ Formats Howard Levine, DynaMark, Inc. Oblectives The purpose of this paper is to enable you to use SAS formats to perform the following tasks more effectively: Improving the

More information

2. Don t forget semicolons and RUN statements The two most common programming errors.

2. Don t forget semicolons and RUN statements The two most common programming errors. Randy s SAS hints March 7, 2013 1. Always begin your programs with internal documentation. * ***************** * Program =test1, Randy Ellis, March 8, 2013 ***************; 2. Don t forget semicolons and

More information

Advanced Tutorials. Paper More than Just Value: A Look Into the Depths of PROC FORMAT

Advanced Tutorials. Paper More than Just Value: A Look Into the Depths of PROC FORMAT Paper 4-27 More than Just Value: A Look Into the Depths of PROC FORMAT Pete Lund, Northwest Crime and Social Research, Olympia, WA Abstract It doesn t take long for even novice SAS programmers to get their

More information

Let s get started with the module Getting Data from Existing Sources.

Let s get started with the module Getting Data from Existing Sources. Welcome to Data Academy. Data Academy is a series of online training modules to help Ryan White Grantees be more proficient in collecting, storing, and sharing their data. Let s get started with the module

More information

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS

INTRODUCTION TO SAS HOW SAS WORKS READING RAW DATA INTO SAS TO SAS NEED FOR SAS WHO USES SAS WHAT IS SAS? OVERVIEW OF BASE SAS SOFTWARE DATA MANAGEMENT FACILITY STRUCTURE OF SAS DATASET SAS PROGRAM PROGRAMMING LANGUAGE ELEMENTS OF THE SAS LANGUAGE RULES FOR SAS

More information

EXAMPLE 2: INTRODUCTION TO SAS AND SOME NOTES ON HOUSEKEEPING PART II - MATCHING DATA FROM RESPONDENTS AT 2 WAVES INTO WIDE FORMAT

EXAMPLE 2: INTRODUCTION TO SAS AND SOME NOTES ON HOUSEKEEPING PART II - MATCHING DATA FROM RESPONDENTS AT 2 WAVES INTO WIDE FORMAT EXAMPLE 2: PART I - INTRODUCTION TO SAS AND SOME NOTES ON HOUSEKEEPING PART II - MATCHING DATA FROM RESPONDENTS AT 2 WAVES INTO WIDE FORMAT USING THESE WORKSHEETS For each of the worksheets you have a

More information

Mr. Kongmany Chaleunvong. GFMER - WHO - UNFPA - LAO PDR Training Course in Reproductive Health Research Vientiane, 22 October 2009

Mr. Kongmany Chaleunvong. GFMER - WHO - UNFPA - LAO PDR Training Course in Reproductive Health Research Vientiane, 22 October 2009 Mr. Kongmany Chaleunvong GFMER - WHO - UNFPA - LAO PDR Training Course in Reproductive Health Research Vientiane, 22 October 2009 1 Object of the Course Introduction to SPSS The basics of managing data

More information

Format-o-matic: Using Formats To Merge Data From Multiple Sources

Format-o-matic: Using Formats To Merge Data From Multiple Sources SESUG Paper 134-2017 Format-o-matic: Using Formats To Merge Data From Multiple Sources Marcus Maher, Ipsos Public Affairs; Joe Matise, NORC at the University of Chicago ABSTRACT User-defined formats are

More information

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio

Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio PharmaSUG 2014 - Paper CC43 Give me EVERYTHING! A macro to combine the CONTENTS procedure output and formats. Lynn Mullins, PPD, Cincinnati, Ohio ABSTRACT The PROC CONTENTS output displays SAS data set

More information

DSCI 325: Handout 2 Getting Data into SAS Spring 2017

DSCI 325: Handout 2 Getting Data into SAS Spring 2017 DSCI 325: Handout 2 Getting Data into SAS Spring 2017 Data sets come in many different formats. In some situations, data sets are stored on paper (e.g., surveys) and other times data are stored in huge

More information

SAS Training Spring 2006

SAS Training Spring 2006 SAS Training Spring 2006 Coxe/Maner/Aiken Introduction to SAS: This is what SAS looks like when you first open it: There is a Log window on top; this will let you know what SAS is doing and if SAS encountered

More information

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC

If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC Paper 2417-2018 If You Need These OBS and These VARS, Then Drop IF, and Keep WHERE Jay Iyengar, Data Systems Consultants LLC ABSTRACT Reading data effectively in the DATA step requires knowing the implications

More information

Level I: Getting comfortable with my data in SAS. Descriptive Statistics

Level I: Getting comfortable with my data in SAS. Descriptive Statistics Level I: Getting comfortable with my data in SAS. Descriptive Statistics Quick Review of reading Data into SAS Preparing Data 1. Variable names in the first row make sure they are appropriate for the statistical

More information

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA

Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA SESUG 2012 Paper HW-01 Getting Up to Speed with PROC REPORT Kimberly LeBouton, K.J.L. Computing, Rossmoor, CA ABSTRACT Learning the basics of PROC REPORT can help the new SAS user avoid hours of headaches.

More information

Chapter 6: Modifying and Combining Data Sets

Chapter 6: Modifying and Combining Data Sets Chapter 6: Modifying and Combining Data Sets The SET statement is a powerful statement in the DATA step. Its main use is to read in a previously created SAS data set which can be modified and saved as

More information

Why Hash? Glen Becker, USAA

Why Hash? Glen Becker, USAA Why Hash? Glen Becker, USAA Abstract: What can I do with the new Hash object in SAS 9? Instead of focusing on How to use this new technology, this paper answers Why would I want to? It presents the Big

More information

ERROR: ERROR: ERROR:

ERROR: ERROR: ERROR: ERROR: ERROR: ERROR: Formatting Variables: Back and forth between character and numeric Why should you care? DATA name1; SET name; if var = Three then delete; if var = 3 the en delete; if var = 3 then

More information

GETTING DATA INTO THE PROGRAM

GETTING DATA INTO THE PROGRAM GETTING DATA INTO THE PROGRAM 1. Have a Stata dta dataset. Go to File then Open. OR Type use pathname in the command line. 2. Using a SAS or SPSS dataset. Use Stat Transfer. (Note: do not become dependent

More information

22S:166. Checking Values of Numeric Variables

22S:166. Checking Values of Numeric Variables 22S:1 Computing in Statistics Lecture 24 Nov. 2, 2016 1 Checking Values of Numeric Variables range checks when you know what the range of possible values is for a given quantitative variable internal consistency

More information

Reading data in SAS and Descriptive Statistics

Reading data in SAS and Descriptive Statistics P8130 Recitation 1: Reading data in SAS and Descriptive Statistics Zilan Chai Sep. 18 th /20 th 2017 Outline Intro to SAS (windows, basic rules) Getting Data into SAS Descriptive Statistics SAS Windows

More information

A Step by Step Guide to Learning SAS

A Step by Step Guide to Learning SAS A Step by Step Guide to Learning SAS 1 Objective Familiarize yourselves with the SAS programming environment and language. Learn how to create and manipulate data sets in SAS and how to use existing data

More information

Frequency Tables. Chapter 500. Introduction. Frequency Tables. Types of Categorical Variables. Data Structure. Missing Values

Frequency Tables. Chapter 500. Introduction. Frequency Tables. Types of Categorical Variables. Data Structure. Missing Values Chapter 500 Introduction This procedure produces tables of frequency counts and percentages for categorical and continuous variables. This procedure serves as a summary reporting tool and is often used

More information

ST Lab 1 - The basics of SAS

ST Lab 1 - The basics of SAS ST 512 - Lab 1 - The basics of SAS What is SAS? SAS is a programming language based in C. For the most part SAS works in procedures called proc s. For instance, to do a correlation analysis there is proc

More information

Overview of Data Management Tasks (command file=datamgt.sas)

Overview of Data Management Tasks (command file=datamgt.sas) Overview of Data Management Tasks (command file=datamgt.sas) Create the March data set: To create the March data set, you can read it from the MARCH.DAT raw data file, using a data step, as shown below.

More information

Paper PO06. Building Dynamic Informats and Formats

Paper PO06. Building Dynamic Informats and Formats Paper PO06 Building Dynamic Informats and Formats Michael Zhang, Merck & Co, Inc, West Point, PA ABSTRACT Using the FORMAT procedure to define informats and formats is a common task in SAS programming

More information

Numeric Precision 101

Numeric Precision 101 www.sas.com > Service and Support > Technical Support TS Home Intro to Services News and Info Contact TS Site Map FAQ Feedback TS-654 Numeric Precision 101 This paper is intended as a basic introduction

More information

ECLT 5810 SAS Programming - Introduction

ECLT 5810 SAS Programming - Introduction ECLT 5810 SAS Programming - Introduction Why SAS? Able to process data set(s). Easy to handle multiple variables. Generate useful basic analysis Summary statistics Graphs Many companies and government

More information

DEPARTMENT OF HEALTH AND HUMAN SCIENCES HS900 RESEARCH METHODS

DEPARTMENT OF HEALTH AND HUMAN SCIENCES HS900 RESEARCH METHODS DEPARTMENT OF HEALTH AND HUMAN SCIENCES HS900 RESEARCH METHODS Using SPSS Topics addressed today: 1. Accessing data from CMR 2. Starting SPSS 3. Getting familiar with SPSS 4. Entering data 5. Saving data

More information

SAS Online Training: Course contents: Agenda:

SAS Online Training: Course contents: Agenda: SAS Online Training: Course contents: Agenda: (1) Base SAS (6) Clinical SAS Online Training with Real time Projects (2) Advance SAS (7) Financial SAS Training Real time Projects (3) SQL (8) CV preparation

More information

IPUMS Training and Development: Requesting Data

IPUMS Training and Development: Requesting Data IPUMS Training and Development: Requesting Data IPUMS PMA Exercise 2 OBJECTIVE: Gain an understanding of how IPUMS PMA service delivery point datasets are structured and how it can be leveraged to explore

More information

SAS seminar. The little SAS book Chapters 3 & 4. April 15, Åsa Klint. By LD Delwiche and SJ Slaughter. 3.1 Creating and Redefining variables

SAS seminar. The little SAS book Chapters 3 & 4. April 15, Åsa Klint. By LD Delwiche and SJ Slaughter. 3.1 Creating and Redefining variables SAS seminar April 15, 2003 Åsa Klint The little SAS book Chapters 3 & 4 By LD Delwiche and SJ Slaughter Data step - read and modify data - create a new dataset - performs actions on rows Proc step - use

More information

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables

%Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables %Addval: A SAS Macro Which Completes the Cartesian Product of Dataset Observations for All Values of a Selected Set of Variables Rich Schiefelbein, PRA International, Lenexa, KS ABSTRACT It is often useful

More information

Stata v 12 Illustration. First Session

Stata v 12 Illustration. First Session Launch Stata PC Users Stata v 12 Illustration Mac Users START > ALL PROGRAMS > Stata; or Double click on the Stata icon on your desktop APPLICATIONS > STATA folder > Stata; or Double click on the Stata

More information

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC

Introduction to SAS. Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC Introduction to SAS Cristina Murray-Krezan Research Assistant Professor of Internal Medicine Biostatistician, CTSC cmurray-krezan@salud.unm.edu 20 August 2018 What is SAS? Statistical Analysis System,

More information

Bits and Bytes. Here is a sort of glossary of computer buzzwords you will encounter in computer use:

Bits and Bytes. Here is a sort of glossary of computer buzzwords you will encounter in computer use: Bits and Bytes Here is a sort of glossary of computer buzzwords you will encounter in computer use: Bit Computer processors can only tell if a wire is on or off. Luckily, they can look at lots of wires

More information

Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics

Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics Stat 302 Statistical Software and Its Applications SAS: Data I/O & Descriptive Statistics Fritz Scholz Department of Statistics, University of Washington Winter Quarter 2015 February 19, 2015 2 Getting

More information

Chapter 2: Getting Data Into SAS

Chapter 2: Getting Data Into SAS Chapter 2: Getting Data Into SAS Data stored in many different forms/formats. Four categories of ways to read in data. 1. Entering data directly through keyboard 2. Creating SAS data sets from raw data

More information

Stat Wk 3. Stat 342 Notes. Week 3, Page 1 / 71

Stat Wk 3. Stat 342 Notes. Week 3, Page 1 / 71 Stat 342 - Wk 3 What is SQL Proc SQL 'Select' command and 'from' clause 'group by' clause 'order by' clause 'where' clause 'create table' command 'inner join' (as time permits) Stat 342 Notes. Week 3,

More information

BIOMETRICS INFORMATION

BIOMETRICS INFORMATION BIOMETRICS INFORMATION (You re 95% likely to need this information) PAMPHLET NO. # 24 DATE: February 9, 1990 SUBJECT: Reading WATFILE files into SAS WATFILE is a useful package for data entry because it

More information

PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION

PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION PROC SUMMARY AND PROC FORMAT: A WINNING COMBINATION Alan Dickson - Consultant Introduction: Is this scenario at all familiar to you? Your users want a report with multiple levels of subtotals and grand

More information

A Simple Guide to Using SPSS (Statistical Package for the. Introduction. Steps for Analyzing Data. Social Sciences) for Windows

A Simple Guide to Using SPSS (Statistical Package for the. Introduction. Steps for Analyzing Data. Social Sciences) for Windows A Simple Guide to Using SPSS (Statistical Package for the Social Sciences) for Windows Introduction ٢ Steps for Analyzing Data Enter the data Select the procedure and options Select the variables Run the

More information

Paper SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland

Paper SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland Paper 241-28 SAS Programming Conventions Lois Levin, Independent Consultant, Bethesda, Maryland ABSTRACT This paper presents a set of programming conventions and guidelines that can be considered in developing

More information

STAT:5400 Computing in Statistics

STAT:5400 Computing in Statistics STAT:5400 Computing in Statistics Introduction to SAS Lecture 18 Oct 12, 2015 Kate Cowles 374 SH, 335-0727 kate-cowles@uiowaedu SAS SAS is the statistical software package most commonly used in business,

More information

Stat 302 Statistical Software and Its Applications SAS: Data I/O

Stat 302 Statistical Software and Its Applications SAS: Data I/O Stat 302 Statistical Software and Its Applications SAS: Data I/O Yen-Chi Chen Department of Statistics, University of Washington Autumn 2016 1 / 33 Getting Data Files Get the following data sets from the

More information

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury

Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Using a Fillable PDF together with SAS for Questionnaire Data Donald Evans, US Department of the Treasury Introduction The objective of this paper is to demonstrate how to use a fillable PDF to collect

More information

Introduction to STATA 6.0 ECONOMICS 626

Introduction to STATA 6.0 ECONOMICS 626 Introduction to STATA 6.0 ECONOMICS 626 Bill Evans Fall 2001 This handout gives a very brief introduction to STATA 6.0 on the Economics Department Network. In a few short years, STATA has become one of

More information

Introduction to Stata Getting Data into Stata. 1. Enter Data: Create a New Data Set in Stata...

Introduction to Stata Getting Data into Stata. 1. Enter Data: Create a New Data Set in Stata... Introduction to Stata 2016-17 02. Getting Data into Stata 1. Enter Data: Create a New Data Set in Stata.... 2. Enter Data: How to Import an Excel Data Set.... 3. Import a Stata Data Set Directly from the

More information

WORKSHOP: Using the Health Survey for England, 2014

WORKSHOP: Using the Health Survey for England, 2014 WORKSHOP: Using the Health Survey for England, 2014 There are three sections to this workshop, each with a separate worksheet. The worksheets are designed to be accessible to those who have no prior experience

More information

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL

Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Paper TS05-2011 Data Manipulation with SQL Mara Werner, HHS/OIG, Chicago, IL Abstract SQL was developed to pull together information from several different data tables - use this to your advantage as you

More information

Exam Name: SAS Base Programming for SAS 9

Exam Name: SAS Base Programming for SAS 9 Vendor: SAS Exam Code: A00-211 Exam Name: SAS Base Programming for SAS 9 Version: DEMO QUESTION 1 Given the SAS data set AGES: AGES AGE --------- The variable AGE contains character values. data subset;

More information

Statistics, Data Analysis & Econometrics

Statistics, Data Analysis & Econometrics ST009 PROC MI as the Basis for a Macro for the Study of Patterns of Missing Data Carl E. Pierchala, National Highway Traffic Safety Administration, Washington ABSTRACT The study of missing data patterns

More information

An Introduction to SAS University Edition

An Introduction to SAS University Edition An Introduction to SAS University Edition Ron Cody From An Introduction to SAS University Edition. Full book available for purchase here. Contents List of Programs... xi About This Book... xvii About the

More information

Lab #3: Probability, Simulations, Distributions:

Lab #3: Probability, Simulations, Distributions: Lab #3: Probability, Simulations, Distributions: A. Objectives: 1. Reading from an external file 2. Create contingency table 3. Simulate a probability distribution 4. The Uniform Distribution Reading from

More information

Lab 1: Introduction to Data

Lab 1: Introduction to Data 1 Lab 1: Introduction to Data Some define Statistics as the field that focuses on turning information into knowledge. The first step in that process is to summarize and describe the raw information the

More information

The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software

The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software The Essential Meaning of PROC MEANS: A Beginner's Guide to Summarizing Data Using SAS Software Andrew H. Karp Sierra Information Services, Inc. Sonoma, California USA Gary M. McQuown Data and Analytic

More information

Turn In: A copy of the first 50 lines or so of the converted text file.

Turn In: A copy of the first 50 lines or so of the converted text file. STAT 325: Final, Take home Spring 2012 Points: 100 pts Name: We will begin by working with the Fools Five dataset. The Fools Five is a large event held each year in Lewiston, MN. The main event is the

More information

SAS Institue EXAM A SAS Base Programming for SAS 9

SAS Institue EXAM A SAS Base Programming for SAS 9 SAS Institue EXAM A00-211 SAS Base Programming for SAS 9 Total Questions: 70 Question: 1 After a SAS program is submitted, the following is written to the SAS log: What issue generated the error in the

More information

Excel Project 5 Creating Sorting, and Querying a Worksheet Database

Excel Project 5 Creating Sorting, and Querying a Worksheet Database Excel Project 5 Creating Sorting, and Querying a Worksheet Database A Microsoft Excel table can function as a simple database (organized collection of data). When an individual or small business needs

More information

IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR

IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR IENG484 Quality Engineering Lab 1 RESEARCH ASSISTANT SHADI BOLOUKIFAR SPSS (Statistical package for social science) Originally is acronym of Statistical Package for the Social Science but, now it stands

More information

Creating New Variables in JMP Datasets Using Formulas Exercises

Creating New Variables in JMP Datasets Using Formulas Exercises Creating New Variables in JMP Datasets Using Formulas Exercises Exercise 3 Calculate the Difference of Two Columns 1. This Exercise will use the data table Cholesterol. This data table contains the following

More information

Mapping Clinical Data to a Standard Structure: A Table Driven Approach

Mapping Clinical Data to a Standard Structure: A Table Driven Approach ABSTRACT Paper AD15 Mapping Clinical Data to a Standard Structure: A Table Driven Approach Nancy Brucken, i3 Statprobe, Ann Arbor, MI Paul Slagle, i3 Statprobe, Ann Arbor, MI Clinical Research Organizations

More information

Intermediate SAS: Working with Data

Intermediate SAS: Working with Data Intermediate SAS: Working with Data OIT Technical Support Services 293-4444 oithelp@mail.wvu.edu oit.wvu.edu/training/classmat/sas/ Table of Contents Getting set up for the Intermediate SAS workshop:...

More information

Exporting & Importing Datasets & Catalogs: Utility Macros

Exporting & Importing Datasets & Catalogs: Utility Macros Exporting & Importing Datasets & Catalogs: Utility Macros Adel Fahmy, SYSMART Consulting, North Brunswick, NJ ABSTRACT Since different companies use different SAS versions installed on different platforms,

More information

footnote1 height=8pt j=l "(Rev. &sysdate)" j=c "{\b\ Page}{\field{\*\fldinst {\b\i PAGE}}}";

footnote1 height=8pt j=l (Rev. &sysdate) j=c {\b\ Page}{\field{\*\fldinst {\b\i PAGE}}}; Producing an Automated Data Dictionary as an RTF File (or a Topic to Bring Up at a Party If You Want to Be Left Alone) Cyndi Williamson, SRI International, Menlo Park, CA ABSTRACT Data dictionaries are

More information

Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University

Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University Maximizing Statistical Interactions Part II: Database Issues Provided by: The Biostatistics Collaboration Center (BCC) at Northwestern University While your data tables or spreadsheets may look good to

More information

A PROCEDURE FOR CREAT1NG TABLE LOOK-UP FUNCTIONS FROM SAS DATASETS A. D. Forbes, British Rail

A PROCEDURE FOR CREAT1NG TABLE LOOK-UP FUNCTIONS FROM SAS DATASETS A. D. Forbes, British Rail A PROCEDURE FOR CREAT1NG TABLE LOOK-UP FUNCTIONS FROM SAS DATASETS A. D. Forbes, British Rail Introduction Many SAS applications make use of codes to store values of variables and often it is convenient

More information

Getting Information from a Table

Getting Information from a Table ch02.fm Page 45 Wednesday, April 14, 1999 2:44 PM Chapter 2 Getting Information from a Table This chapter explains the basic technique of getting the information you want from a table when you do not want

More information

Introductory Guide to SAS:

Introductory Guide to SAS: Introductory Guide to SAS: For UVM Statistics Students By Richard Single Contents 1 Introduction and Preliminaries 2 2 Reading in Data: The DATA Step 2 2.1 The DATA Statement............................................

More information

PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need

PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need ABSTRACT Paper PO 133 PROC MEANS for Disaggregating Statistics in SAS : One Input Data Set and One Output Data Set with Everything You Need Imelda C. Go, South Carolina Department of Education, Columbia,

More information

Introduction to Stata - Session 2

Introduction to Stata - Session 2 Introduction to Stata - Session 2 Siv-Elisabeth Skjelbred ECON 3150/4150, UiO January 26, 2016 1 / 29 Before we start Download auto.dta, auto.csv from course home page and save to your stata course folder.

More information

SAS Programming Conventions Lois Levin, Independent Consultant

SAS Programming Conventions Lois Levin, Independent Consultant SAS Programming Conventions Lois Levin, Independent Consultant INTRODUCTION This paper presents a set of programming conventions and guidelines that can be considered in developing code to ensure that

More information

Lecture 1 Getting Started with SAS

Lecture 1 Getting Started with SAS SAS for Data Management, Analysis, and Reporting Lecture 1 Getting Started with SAS Portions reproduced with permission of SAS Institute Inc., Cary, NC, USA Goals of the course To provide skills required

More information

Lab #1: Introduction to Basic SAS Operations

Lab #1: Introduction to Basic SAS Operations Lab #1: Introduction to Basic SAS Operations Getting Started: OVERVIEW OF SAS (access lab pages at http://www.stat.lsu.edu/exstlab/) There are several ways to open the SAS program. You may have a SAS icon

More information

Working with Data in Windows and Descriptive Statistics

Working with Data in Windows and Descriptive Statistics Working with Data in Windows and Descriptive Statistics HRP223 Topic 2 October 3 rd, 2012 Copyright 1999-2012 Leland Stanford Junior University. All rights reserved. Warning: This presentation is protected

More information

Chapter 7 File Access. Chapter Table of Contents

Chapter 7 File Access. Chapter Table of Contents Chapter 7 File Access Chapter Table of Contents OVERVIEW...105 REFERRING TO AN EXTERNAL FILE...105 TypesofExternalFiles...106 READING FROM AN EXTERNAL FILE...107 UsingtheINFILEStatement...107 UsingtheINPUTStatement...108

More information

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL

New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL Paper SS-03 New Vs. Old Under the Hood with Procs CONTENTS and COMPARE Patricia Hettinger, SAS Professional, Oakbrook Terrace, IL ABSTRACT There s SuperCE for comparing text files on the mainframe. Diff

More information

A Cross-national Comparison Using Stacked Data

A Cross-national Comparison Using Stacked Data A Cross-national Comparison Using Stacked Data Goal In this exercise, we combine household- and person-level files across countries to run a regression estimating the usual hours of the working-aged civilian

More information

Processing SAS Data Sets

Processing SAS Data Sets Statistical Data Analysis 1 Processing SAS Data Sets Namhyoung Kim Dept. of Applied Statistics Gachon University nhkim@gachon.ac.kr 1 Using OUT Dataset OUTPUT Statement OUTPUT

More information