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


Please Help Members By Posting Answers For Below Questions

Approximately what date is represented by the SAS date value of 730?

706


how would you determine the number of missing or nonmissing values in computations? : Sas programming

623


How can I remove header from output data set?

2042


what is proc Index? and what is proc document?

1972


what are the scrubbing procedures in sas? : Sas programming

799






Explain what is the use of proc gplot?

672


what is the use of proc sql? : Sas programming

565


How would you code a macro statement to produce information on the sas log? This statement can be coded anywhere? : sas-macro

556


What are the different servers in sas? : sas-grid-administration

574


what is sas metadata repository? : Sas-bi

568


How you are maintaining sas programmes in your company...any specific version control software you are using? If so, tell me the name?

1552


what are the categories that sas informats are used to the place the data? : Sas-administrator

590


Difference between informat and format?

618


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.

1750


Compare sas with other data analytics tools.

555