what is pdv? how it is related to input buffer in sas?
Answers were Sorted based on User's Feedback
Answer / vera royzman
Program data vector (PDV)is a logical area in memory where
SAS builds a data set, one observation at a time. When a
program executes, SAS reads data values from the input
buffer (a logical area in memory into which SAS reads each
record of raw data when SAS executes an INPUT statement) or
creates them by executing SAS language statements. The data
values are assigned to the appropriate variables in the
program data vector. From here, SAS writes the values to a
SAS data set as a single observation. When the DATA step
reads a SAS data set, SAS reads the data directly into the
program data vector.
Is This Answer Correct ? | 78 Yes | 0 No |
Answer / anuj goyal
pdv is though a logical concept only but helps u to
understand the most important i.e, THE DATA STEP.
Two things u need to understand the compilation Phase and
the Execution Phase.
While reading a Raw data file:-
1) Compilation Phase - it checks for syntax errors and
conversion of ur data step into the machine code along with
creation of two things viz. INPUT BUFFER and PDV.
At the end of compilation phase u will have these two things
with u (Input Buffer and PDV).
In PDV all the variables present in the INPUT statement in
the data step will be give place in ur PDV as per the length
mentioned by u.
2) Execution Phase - Before beginning of the this phase all
the variables will be initialized to missing(if character)
and periods(if numeric)[use "put _all_" statement to check
ur PDV status in the log].
Then when the input statement is encountered for the first
time The first record from raw data file is moved from it to
ur INPUT BUFFER. Then one to one mapping is done and data is
then again moved to PDV(So u can can take input buffer as a
temporary storage area for ur data, one at a time). Then
when run statement is encountered, then the implicit OUTPUT
statement forces the read data row to the output data set.
Is This Answer Correct ? | 26 Yes | 4 No |
Answer / santhosh.lyathkula
input buffer contains one record of Raw data.
PDV contains one observation of dataset.
input buffer is created at the time of reading raw data to
store raw data and send to PDV.
Is This Answer Correct ? | 18 Yes | 6 No |
Answer / nanda katepalli
PDV is the program Data Vector. It takes each observation at
a time and allocates the length given in the input
statement.The allocation of spaces is done in the
compliation phase and the variables goes in it at the
execution phase.
Example:Builder builds the house but it is used by the people.
It has 2 variables by default which are _n_ and _error_.
_n_ gives us the observation number.
_error_ if their is no error then it is 0 or else it shows 1
even though we have 'n' no.of errors.
And then it creates 'n' no.of variables specified in the
data statement.
Input buffer is only needed for non sas files to
read the raw data and store in it. Where as, sas files do
not need the input buffer.
Example: Converting an Excel file into a sas file i.e while
converting it needs some space for storage.
Is This Answer Correct ? | 11 Yes | 0 No |
Answer / vinod swarna
To add to it, Input buffer is the staging area for non sas
input.
Is This Answer Correct ? | 7 Yes | 20 No |
What are the scrubbing procedures in sas?
How you can read the variables that you need?
explain about various caches available in data integrator? : Sas-di
How to display duplicate observations in data?
What are the ways to do a “table lookup” in sas?
what is sas metadata repository? : Sas-bi
Can you explain the process of calendar?
Which date function advances a date, time or datetime value by a given interval?
Code a PROC SORT on a data set containing State, District and County as the primary variables, along with several numeric variables.
At compile time when a SAS data set is read, what items are created?
which date function advances a date, time or datetime value by a given interval? : Sas programming
proc means? proc sort? proc append? proc freq? proc print? proc content?