At compile time when a SAS data set is read, what items are
created?
Answer Posted / dharmendra sharma
Sas process data steps in two phase.
1) Compilation phase
2) Execution Phase
Compilation phase :- When sas see the 'DATA' statement it get to know that it needs to process this data-steps. During this compilation phase SAS did some pre-house preparation. In this case it set aside some portion of memory for storing sas dataset.
It initially creates input buffer that holds one line (observation) one time.
For this first it read INFILE from the dataset statement and then get to know that all types of variable we are going to read from the infile. It then find out that which variable is of what type and what it the record length. If we are reading list input (infile seperated using space delimeters) then it will assign 8 bytes length to each variable.
for characher 8 bytes means ---->>> 8 character.
for Numeric 8 bytes means ---->>> 14 to 15 significant digits.
Then this all information is stored in to the Descriptor portion. Here Compilation phase ended.
At the starting of Execution phase. Sas reads values from the input buffer and then stores these information in data variables one by one. And the values are stored in PDV, which write value in dataset at the end of the datastep --->>> because automatically sas put a OUTPUT statement at the end of each datastep.
During compilation phase sas also creates two variable autmatically:-
_N_ and _ERROR_
:) I hope we can have some good understanding related to PDV and Input buffer and Descriptor portion.
| Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
what is slowly changing dimension? : Sas-di
: and & modifiers.
explain the concepts and capabilities of business object? : Sas-bi
what is the difference between: x=a+b+c+d; and x=sum (of a, b, c ,d);? : Sas programming
What is the function of output statement in a SAS Program?
What are the functions used for character handling?
explain about various caches available in data integrator? : Sas-di
What is connection profile? : sas-grid-administration
Explain by-group processing?
How to read an input file in sas?
Describe 5 ways to do a “table lookup” in SAS?
What is the difference between match merge and one to one merge?
which date functions advances a date time or date/time value by a given interval? : Sas programming
how to remove duplicates using proc sql?
In proc transpose and data step with arrays which one you pick?