Following are frequently asked SAS Job Interview Questions for freshers as well as an experienced Data analyst.
1) 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 analytics, econometrics and data mining
- Business planning, forecasting, and decision support
- Operation research and Project management
- Quality Improvement
- Data Warehousing
- Application Development
2) What is the basic structure of the SAS base 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 the program successfully, and you have the 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: In file ‘H: \StatHW\yourfilename.dat’;
4) Explain data step in SAS
The Data step creates a SAS dataset which carries the data along with a “data dictionary.” The data dictionary holds information about the variables and their properties.
5) 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) What are the data types does SAS contain?
The data types in SAS are Numeric and Character.
7) Which statement does not perform automatic conversions in comparisons?
In SAS, the “where” statement does not perform automatic conversions in comparisons.
8) What is a method to 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) 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) Name validation tools used in SAS
For DataSet : Data set name/ debug Data set: Name/stmtchk
For SAS Macros variables: Options: mprint mlogic symbolgen
11) What does PROC print, and PROC contents do?
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 a SAS dataset.
12) What is the use of function Proc summary?
The syntax of proc summary is the same as that of proc means. It computes descriptive statistics on numeric variables in the SAS dataset.
13) 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) 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) Name types of 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 concatenates character strings remove trailing and leading blanks and inserts separators.
17) What is the use of PROC gplot?
PROC gplot has more options and can create more colorful and fancier graphics.
18) 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 options such as sorting, summarizing and listing.
19) What is the 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
- FORMAT procedure for creating value formats
- Data types
- IN= dataset option
21) What is the difference between INPUT and INFILE ?
22) State 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) 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) How you can read the variables that you need?
You read the variables using input statement with column /line pointers, informats and length specifiers.
25) What are the special input delimiters used in SAS?
Special input delimiters used in SAS are DLM and DSD.
26) How SAS treats the DSD delimiters?
When you define DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.
27) 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) 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) How SUBSTR function works in SAS?
The SUBSTR function is used to abstract substring from a character variable.
30) 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) What are the ways to do a “table lookup” in SAS?
There are five ways to do a “table lookup” in SAS which include:
- PROC SQL
- Match Merging
- Direct Access
- Format Tables
32) 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) What are 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) What are 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) 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 ; Quit;
36) What are 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) How to limit decimal places for the variable using PROC MEANS?
By using MAXDEC=option, you can limit decimal places for the variable.
38) What are 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) What is the use of STOP statement?
A STOP statement is used to control the continuous looping in SET statement.
40) What is RUN-Group processing?
RUN-Group processing allows submitting a PROC step using RUN statement without ending the procedure.
41) How to test the debugging in SAS?
For debugging in SAS use the Debug clause after ‘/’ in the data statement.
42) How to create a permanent SAS data set?
In order 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) 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) What are the default statistics that PROC MEANS produce?
The default statistics that PROC MEANS produce are,
- STD DEV
45) What is the command used to find missing values?
The command used to find missing values is
46) 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) What are the scrubbing procedures in SAS?
The scrubbing procedures in SAS are Proc Sort with nodupkey option. It will eliminate duplicate values.
48) What is the use of the %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.