Hello! *Little background: I'm currently an intern who was asked to translate a coworker's SAS code to Python. This is the first time I ever read SAS code and my coworker just left for vacation. Unfortunately my company didn't install SAS in my PC, so I can't see the tables produced. My question: In the code below, there are 3 DO loops, each runs from 1 to a number. Each loop seems to create a column called vraidate and to update the values of a column called deltaEPS, however the values assigned to the rows of these columns are different in each loop! What happens to the values of these columns from the first two loops? They don't seem to be used for anything else in the code. Does the program create a brand new column each time? Finally, the second part of the code assigns one value of vraidate to the date. Which value is this? The code: data series2;set moustache;by country_name secteur;if last.Secteur=1;delaiFY1=intck('month',date,dateFY1);
if delaiFY1=. then delete;
do i=1 to delaiFY1;
vraidate=intnx('Month',date,i,'end');format vraidate date9.;
if EPS_FY1_INDEX<=0 then deltaEPS=EPS_12M_TR;else deltaEPS=EPS_12M_TR+(i/delaiFY1)*(EPS_FY1_INDEX-EPS_12M_TR);
output;
end;
do j=1 to 12;
vraidate=intnx('Month',dateFY1,j,'end');format vraidate date9.;
if EPS_FY2_INDEX<=0 then deltaEPS=EPS_FY1_INDEX;else deltaEPS=EPS_FY1_INDEX+(j/12)*(EPS_FY2_INDEX-EPS_FY1_INDEX);
output;
end;
do k=1 to 12;
vraidate=intnx('Month',dateFY2,k,'end');format vraidate date9.;
if EPS_FY3_INDEX<=0 then deltaEPS=EPS_FY2_INDEX;else deltaEPS=EPS_FY2_INDEX+(k/12)*(EPS_FY3_INDEX-EPS_FY2_INDEX);
output;
end;run;
data series2;set series2;
date=vraidate;format date date9.;
ProjectionEPS=deltaEPS;
keep country_name Secteur date FY0_ENDDATE ProjectionEPS;
proc sort;by country_name Secteur date;run;
... View more