Top 48 SAS Interview Questions & Answers

1) Explain what is SAS? What are the functions does it performs?

SAS means Statistical Analysis System, which is an integrated set of software products.

• Information retrieval and data management
• Writing reports and graphics
• Statistical analysis, econometrics and data mining
• Business planning, forecasting and decision support
• Operation research and Project management
• Quality Improvement
• Data Warehousing
• Application Development

2) Explain what is the basic structure of SAS program?

The basic structure of SAS consist of

==DATA step, which recovers & manipulates data.
==PROC step, which interprets the data.

3) What is the basic syntax style in SAS?

To run program successfully, and you have following basic elements:

• There should be a semi-colon at the end of every line
• A data statement that defines your data set
• Input statement
• There should be at least one space between each word or statement
• A run statement

For example: Infile ‘H: \StatHW\yourfilename.dat’;

4) Explain what is Data Step?

The Data step creates an SAS dataset which carries the data along with a “data dictionary.” The data dictionary holds the information about the variables and their properties.

5) Explain what is PDV?

The logical area in the memory is represented by PDV or Program Data Vector. At the time, SAS creates a database of one observation at a time. An input buffer is created at the time of compilation which holds a record from an external file. The PDV is created following the input buffer creation


6) Mention what are the data types does SAS contain?

The data types in SAS are Numeric and Character.

7) In SAS explain which statement does not perform automatic conversions in comparisons?

In SAS, the “where” statement does not perform automatic conversions in comparisons.

8) Explain how you can debug and test your SAS program?

You can debug and test your SAS program by using Obs=0 and systems options to trace the program execution in log

9) Mention what is the difference between nodupkey and nodup options?

The difference between the NODUP and NODUPKEY is that, NODUP compares all the variables in our dataset while NODUPKEY compares just the BY variables

10) Mention the validation tools used in SAS?

For DataSet : Data set name/ debug Data set: Name/stmtchk
For Macros: Options: mprint mlogic symbolgen

11) Explain what does PROC print, and PROC contents are used for?

To display the contents of the SAS dataset PROC print is used and also to assure that the data were read into SAS correctly. While, PROC CONTENTS display information about an SAS dataset.

12) Explain what is the use of function Proc summary?

The syntax of proc summary is same as that of proc means, it computes descriptive statistics on numeric variables in the SAS dataset.

13) Explain what Proc glm does?

Proc glm performs simple and multiple regression, analysis of variance (ANOVAL), analysis of covariance, multivariate analysis of variance and repeated measure analysis of variance.

14) Explain what is SAS informats?

SAS INFORMATS are used to read, or input data from external files known as Flat Files ASCII files, text files or sequential files). The informat will tell SAS on how to read data into SAS variables.

15) Mention the category in which SAS Informats are placed?

SAS informats are placed in three categories,

• Character Informats : $INFORMATw
• Numeric Informats : INFORMAT w.d
• Date/Time Informats: INFORMAT w.

16) What function CATX syntax does?

CATX syntax concatenate character strings remove trailing and leading blanks and inserts separators.

17) Explain what is the use of PROC gplot?

PROC gplot has more options and can create more colorful and fancier graphics.

18) Mention what is PROC in SAS?

In SAS, PROC steps analyze and process data in the form of an SAS data set. It controls a library of routines that perform tasks on SAS data set such as sorting, summarizing and listing.

19) Mention what is SAS data set?

A SAS data set is a file consisting of two parts.

  • A descriptor portion
  • A data portion

20) List out some key concept of SAS?

Some key concept of SAS include,

  • SORT procedure
  • Missing values
  • KEEP=, DROP= dataset options
  • Data step logic
  • Reset to missing, or the RETAIN statement
  • Log
  • FORMAT procedure for creating value formats
  • Data types
  • IN= dataset option

21) Mention the difference between INPUT and INFILE ?

  • INFILE statement is used to identify an external file
  • INPUT statement is used to describe your variables

22) Mention the difference between INFORMAT and FORMAT ?

  • INFORMAT: To indicate SAS that a number should be read in a particular format
  • FORMAT: To indicate SAS how to print the variables

23) Mention what is factor analysis?

Factor analysis is a common term used for a family of statistical techniques associated with the reduction of a set of observable variables in terms of a small number of latent factors.  The main goal of factor analysis is data reduction and summarization.

24) Mention how do you read the variables that you need?

You read the variables using input statement with column /line pointers, informats and length specifiers.

25) Mention what are the special input delimiters used in SAS?

Special input delimiters used in SAS are DLM and DSD.

26) Explain how SAS treat the DSD delimiters?

When you define DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.

27) Mention what is the good SAS programming practices for processing large data sets?

The good SAS programming practices for processing large data sets is to sort them once using firstobs= and obs=.

28) Mention how to include or exclude specific variables in a data set?

To include or exclude specific variables in a data set you can use DROP, KEEP Statements and Data set Options.

29) Mention how SUBSTR function works in SAS?

The SUBSTR function is used to abstract substring from a character variable.

30) Mention what SAS features do you use to check errors and data validation?

To check errors, use the Log and for data validation use things like Proc Freq, Proc Means or sometimes Proc print to see how data looks.

31) Mention 5 ways to do a “table lookup” in SAS?

5 ways to do a “table lookup” in SAS include,

  2. Match Merging
  3. Direct Access
  4. Format Tables
  5. Arrays

32) Mention how will you generate test data with no input data?

You will generate test data with no input data using “put” statement and “Data Null”.

33) Mention the difference between CEIL and FLOOR functions in SAS?

The “floor” returns the greatest integer less than/equal to the argument. Whereas the “ceil” function returns the smallest integer greater than/equal to the argument.

34) Mention the difference between SAS functions and procedures?

The difference between SAS functions and procedures is that

  • Procedures expect one variable value per observation
  • Functions expect values to be supplied across an observation

35) Mention how to remove duplicates using PROC SQL?

To remove duplicates using PROC SQL use following step,

Proc SQL noprint;

Create Table inter.merged1 as

Select distinct * from inter.readin ;


36) Mention common programming errors committed in SAS ?

Common programming errors committed in SAS are,

  • Missing semicolon
  • Not checking log after submitting program
  • Not using debugging techniques
  • Not using Fsview option vigorously

37) Mention how to limit decimal places for the variable using PROC MEANS?

By using MAXDEC=option you can limit decimal places for the variable.

38) Mention the difference between the SAS DATA STEP and SAS PROCs?

  • SAS DATA STEP is used to read in and manipulate data
  • SAS PROCs are sub-routines perform tasks on SAS data set

39) Mention why a STOP statement is needed for the POINT= option on a SET statement?

A STOP statement is used to control the continuous looping in SET statement.

40) Mention what is RUN-Group processing?

RUN-Group processing allows submitting a PROC step using RUN statement without ending the procedure.

41) Mention how to test the debugging in SAS?

For debugging in SAS use the Debug clause after ‘/’ in the data statement.

42) Mention how to create a permanent SAS data set?

To create a permanent SAS data set, there are two steps necessary,

  • Assign a library and engine.
  • Create the data. Make sure to assign both a library (other than WORK) and data set name to make the data set permanent.

43) Mention what is SLIBREF?

SLIBREF is a server-libref.  It specifies the libref that is used by the server to identify the SAS data library when no physical name is determined and the server libref is different from the client libref.

44) Mention what are the default statistics that PROC MEANS produce?

The default statistics that PROC MEANS produce are,

  • N
  • MN
  • MAX
  • MEAN

45) Mention what is the command used to find missing values?

The command used to find missing values is


46) Mention what is the difference between Match Merge and One to One Merge?

A one-to-one merge is suitable if both data sets in the merge statement are sorted by id and each observation in one data set has a corresponding observation in the other data set.  If the observations do not match, then match merging is suitable.

47) Mention what are the scrubbing procedures in SAS?

The scrubbing procedures in SAS are Proc Sort with nodupkey option.  It will eliminate the duplicate values.

48) Mention what is the use of %include statement?

%INCLUDE statement reads an entire file into the current SAS program you are running and submits that file to the SAS System immediately.

2 replies

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Anuradha says:

    I am learning SAS programming. After reading your 2nd question answer. I got confused.
    My understanding is the basic structure of SAS programming is…

    SAS programs consist of :
    DATA step, which recovers & manipulates data.
    PROC step, which interpret the data.

    But you explained about SAS Interface….Please check and let me if I am wrong.


    • admin says:

      You are correct! Answer is updated