PDV Stands for "Program Data Vector", During compilation phase of DATA step in SAS, Program goes through multiple stages, It Creates a Input Buffer, PDV and Output dataset and also Check the Syntax Error at compilation time only.

Input Buffer created only In case of reading a data from raw file to a hold a record of external file, while reading data from SAS data set, it does not create Input Buffer. 

Input buffer is a logical concept not a physical storage.

PDV is area where SAS Build its Actual Dataset, One observation at a Time. It's also a Logical Memory concept and build after the Input buffer.

In PDV Two new Temporary automatic variables are created - _N_ and _ERROR_ . These variables are not shown in the dataset, but we can use them for manipulation or debugging purpose.

_N_ counts the Number of times Datastep begin to execute

_ERROR_ Identify if there is any error while reading a row from Data, the default value is 0 which means no error, if Value of _ERROR_ is 1 then executed/fetched row has some error.

PDV also initialize any Missing Character Value to Blank and missing Numeric Value to dot (.)


Output dataset is the Final step where data is actually loaded in system after the PDV process completes.

Post a Comment