why can't input comes before infile ?
data a;
infile "path";
input a b ;
run;
And how PDV works,like first it read the values from infile and then it assigns the variable in PDV.
Since the infile can dynamically change during data step execution (ie by using the filevar= option), the position of the infile statement within the code is important.
The order of the INFILE and INPUT statements matter because they are executale statements. You can have multiples of each in the same data step. You could have an INPUT statement before any INFILE statement, but then it would expect there to be a CARDS (datalines) statement for it to find the data to read.
What variables are defined in your data step are determined when the step is compiled. The order of the variable is determined by the order that the complier sees them. When the INPUT statement runs it will place the values it reads into the locations for those variables.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.