SAS techniques you should learn

http://studysas.blogspot.com/2008/08/sas-tips-and-tricks-part1-httpwww4.html

Advanced SAS Programming Techniques

Contents:

1 Introduction 3

2 The DATA Step 4
2.1 The DATA STEP process : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.1.1 An implicit loop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4
2.1.2 RETURN, DELETE, and OUTPUT : : : : : : : : : : : : : : : : : : 5
2.1.3 Compound Statements : : : : : : : : : : : : : : : : : : : : : : : : : : 7
2.1.4 Data Set Options : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8
2.1.5 DROP, KEEP, and RETAIN : : : : : : : : : : : : : : : : : : : : : : 10
2.2 Input/Output : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
2.2.1 List Input : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 10
2.2.2 Column Input : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13
2.2.3 Pointer Control and Formatted Input : : : : : : : : : : : : : : : : : 14
2.2.4 The PUT Statement : : : : : : : : : : : : : : : : : : : : : : : : : : : 18
2.2.5 SAS Formats and Informats : : : : : : : : : : : : : : : : : : : : : : : 19
2.3 SAS Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21
2.3.1 Mathematical Functions : : : : : : : : : : : : : : : : : : : : : : : : : 21
2.3.2 Random Number Generators : : : : : : : : : : : : : : : : : : : : : : 22
2.3.3 String Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23
2.3.4 Date and Time Functions : : : : : : : : : : : : : : : : : : : : : : : : 24
2.3.5 PUT and INPUT Functions : : : : : : : : : : : : : : : : : : : : : : : 25
2.4 Looping and Arrays : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 26
2.4.1 Univariate and Multivariate Data Views : : : : : : : : : : : : : : : : 27

1
CONTENTS 2
2.4.2 Indeterminant DO Loops : : : : : : : : : : : : : : : : : : : : : : : : 32
2.5 The NULL Data Set : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33
2.6 Data Step Examples : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35
2.6.1 Simple Random Sampling Without Replacement : : : : : : : : : : : 35
2.6.2 Data Recoding : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36

3 Working With Files 38
3.1 External Files : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38
3.1.1 FTP Access : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 44
3.1.2 WWW Access : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45
3.2 Including External SAS Code : : : : : : : : : : : : : : : : : : : : : : : : : : 45
3.3 The SAS Data Library : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45
3.3.1 The LIBNAME Statement : : : : : : : : : : : : : : : : : : : : : : : : 46
3.3.2 Library Procedures : : : : : : : : : : : : : : : : : : : : : : : : : : : : 47
3.4 File Import/Export/Transport : : : : : : : : : : : : : : : : : : : : : : : : : 51
3.4.1 Import/Export : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51
3.4.2 Transport : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 53
3.5 The X Files : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55

4 The Macro Language 57
4.1 Macro Variables : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 57
4.2 Macro Procedures : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59
4.3 Bootstrap Example : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62
4.4 Cluster Dendrogram : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 66

5 SAS Special Files 70
5.1 Autoexec.sas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 70
5.2 Con g.sas : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72
5.3 Pro le.sct : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 75

6 SAS Internet Tools 76
6.1 Capturing OUTPUT for the Web : : : : : : : : : : : : : : : : : : : : : : : : 76