Hi,
Can one of you please help me in understanding the execution phase in SAS.I am aware of Input Buffer and PDV but still not confident enough in the flo
Waiting for your inputs:)
Hi,
PDV (Program Data Vector) : The information about each of the variables is stored in a reserved area of memory called PDV.
SAS Processes data steps in two stages : (1) Compile Stage (2) Execution Stage
In Compile stage SAS does some housekeeping jobs like to prepare an area to store the sas dataset, then to check input file ( infile statement) to fix various attribute of input file. Then to put all the information at a place in memory called as INPUT BUFFER (where it place each record of data as it is read from the input file).
SAS checks for each variable is character or numeric and the storage length of each variable, this information is called the descriptor portion of the data set.
Descriptor Portion contains : Name of data set, Date and time that the data set was created , Number of observations and the number of variables
(It contains attribute information for each variable in the data set )
SAS does following action during compile stage :
(a) Syntax Scan (b) Sas Source code translation to machine language
(c) Definition of input and output files (d) Create input buffer, PDV and data set descriptor information
(e) Setting the variable attribute for output sas data set. (f) Capture of variables to be initialized to missing.
SAS(R) 9.3 Language Reference: Concepts, Second Edition
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.