Add-Innovation Home

About Add-Innovation

Contact Us

  SAS Institute logo.    SAS Programming Tips & Efficiency Considerations.

The following considerations have been ordered according to their ease of implementation.  At the end of each point, I have described the use of any statements I’ve used which are not “day to day used ones”. If I’ve included these statements it’s because I’ll refer to them in a later example, or because they are more efficient.

OPTIONS TO HELP TRACK CPU AND MEMORY
USE THE COMPRESS OPTION
USE OF RETAIN.
USE OF MOD ON FILE STATEMENTS.
SUBSETTING IF STATEMENTS.
SPECIFYING VARIABLE LENGTHS.
ONLY KEEP REQUIRED FIELDS.
ONLY KEEP REQUIRED DATA.
ONLY KEEP REQUIRED FILES.
ONLY READ REQUIRED DATA II.
ONLY PROCESS REQUIRED DATA.
RENAME RATHER THAN COPY VARIABLES.
WHEN TESTING CODE USE OBS= AND FIRSTOBS=
USE OF ELSE OR SELECT.
USE OF BUFFERS WITH FILES.
READING FIELDS FROM DELIMITED FILES.
Don't sweat the petty things
Don't pet the sweaty things !
USE MACROS TO CONTROL ARRAYS RATHER THAN ARRAY REFERENCES.
DYNAMICALLY SWITCH INPUT FILES IN A DATASTEP.
USE OF SAS FORMATS.
MORE EFFICIENT SORTING.
CARRY OUT PROCESSING AND MERGES TOGETHER.
APPENDING ONE DATASET TO ANOTHER.
SIMPLIFY ARITHMETIC OPERATIONS.
CONSIDER USING THE CLASS STATEMENT ON A MEANS OR SUMMARY RATHER THAN SORT.
USE DATA VIEWS TO SAVE SPACE.
REDUCE FIELD LENGTHS BY CONVERTING THE FIELD USING A FORMAT.
USE ARRAYS TO REDUCE SPACE REQUIREMENTS AND PROCESSING TIME.
REDUCE FIELDS READ ON MERGED DATASETS.