What is the Program Data Vector (PDV)? What are its functions?
Answer Posted / raj
It 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 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.
Along with data set variables and computed variables, the
PDV contains two automatic variables, _N_ and _ERROR_. The
_N_ variable counts the number of times the DATA step
begins to iterate. The _ERROR_ variable signals the
occurrence of an error caused by the data during execution.
The value of _ERROR_ is either 0 (indicating no errors
exist), or 1 (indicating that one or more errors have
occurred). SAS does not write these variables to the output
data set.
Is This Answer Correct ? | 5 Yes | 0 No |
Post New Answer View All Answers
Approximately what date is represented by the SAS date value of 730?
how would you determine the number of missing or nonmissing values in computations? : Sas programming
How can I remove header from output data set?
what is proc Index? and what is proc document?
what are the scrubbing procedures in sas? : Sas programming
Explain what is the use of proc gplot?
what is the use of proc sql? : Sas programming
How would you code a macro statement to produce information on the sas log? This statement can be coded anywhere? : sas-macro
What are the different servers in sas? : sas-grid-administration
what is sas metadata repository? : Sas-bi
How you are maintaining sas programmes in your company...any specific version control software you are using? If so, tell me the name?
what are the categories that sas informats are used to the place the data? : Sas-administrator
Difference between informat and format?
Hello, I have PROC SQLs results group by 3 fields and I use SUM and COUNT functions in SQL. The problem is when I try to display my result with PROC TABULATE. I am getting very big numbers. I believe I make a mistake some where in Tabulate. Here is my Proc Tabulate. PROC TABULATE DATA=OUT04_05 FORMAT=12.; CLASS YR CENTRE VISA / PRELOADFMT EXCLUSIVE; VAR NEWUSER FRAUD TRANSFER AUTUSER REISSUE; TABLE CENTRE ALL, (YR ALL)*VISA, (NEWUSER*F=COMMA12. AUTUSER*F=COMMA12. FRAUD*F=COMMA12. TRANSFER*F=COMMA12. REISSUE*F=COMMA12.) / MISSTEXT={LABEL='0'} PRINTMISS RTS=20; FORMAT VISA VISAFMT.; KEYLABEL SUM = ' ' ALL = 'TOTAL'; LABEL YR = 'DATE YEAR' NEWUSER = 'TOTAL NEW ACCT' TRANSFER = 'TOTAL TRANSFER' FRAUD = 'TOTAL FRAUD TRANSFER' AUTUSER = 'TOTAL AUTH USERS' REISSUE = 'TOTAL REISSUE'; When I code it like : NEWUSER*N*F=COMMA12. AUTUSER*N*F=COMMA12. I get same amount numbers but to find a NEWUSER I use COUNT(*) and to find AUTUSER I use SUM(xxxx) function so both result shouldn’t be the same my problem is in this point. Could you tell me where the problem in code is. How can I display my result? TX.
Compare sas with other data analytics tools.