There are many functional areas of SAS which are not often explored by SAS programmers. However, if you ask any SAS programmers with experience about the trinity of SAS, you will definitely find that the answers are pretty uniform – Proc, Data and Macro. Proc, data and macro forms the trinity of SAS and almost every single aspect of SAS revolve around the use of one of them. Almost 95% of all the tasks in Base SAS are achieved using either one of the trinity. Why are these three groups considered as the trinity of SAS?

The Proc handles almost all the statistical functions in SAS and in certain cases, changes and manipulate the data. There is enough SAS Proc that almost the entire alphabet list has been covered by SAS Proc. Below is a list of SAS Proc which are analytics related.

ANOVA

BOXPLOT

CORR

DISCRIM

ENTROPY — Experimental

FACTOR

GLM

HAPLOTYPE

ISHIKAWA

KDE

LOGISTIC

MEANS

NLIN

ORTHOREG

PROBIT

QLIM

REG

SHEWHART

TTEST

UNIVARIATE

VARCLUS

X12

SAS data steps handle almost all the data issues by processing the information. Import and export of data depends almost entirely on the SAS datasteps. Whatever SAS needs for data, it can be achieved using the SAS data steps. The SAS data step is also a very interesting approach to data processing where it is a line by line processing as opposed to a column processing. This approach to processing makes it very easy to do transformation of the data.

SAS Macro is the odd boy that exists to make repetitive task simpler as well as make impossible task possible. The SAS macro makes it possible for users who wish to implement some specific algorithms to use existing proc and iteratively use them to generate the results. While it is uncommon for entire algorithms to be implemented entirely in SAS macro, it is possible for a large number of them to be implemented in SAS due to the unique structure of the SAS data steps when used in conjunction with SAS Macro.

So remember your trinity of SAS when you head down to your SAS workstation.