I have following SAS code that creates two excel links using SAS VIYA JOB EXECUTION.
However, each excel link outputs the same (last) record of the dataset 'all'.
Need help/suggestions to fix this issue.
data all;
format inspectiondate date9.;
name='Johny'; Month_Year='01-2021'; Rpt_Dt='Inspection_Tasks_2021_01'; InspectionDate='01JAN2021'd;
output;
name='Jacob'; Month_Year='02-2021'; Rpt_Dt='Inspection_Tasks_2021_02'; InspectionDate='01FEB2021'd;
output;
run;
%global actlist Insp_Rpts ;
Proc SQL ;
Select distinct Month_year into: actlist separated by '~' from all ;
Select distinct Rpt_Dt into: Insp_Rpts separated by '~' from all ;
quit;
%put actlist = &actlist. ;
%put Insp_Rpts = &Insp_Rpts. ;
%MACRO RW;
Proc SQL ;
Select distinct Month_year into: actlist separated by '~' from all ;
Select distinct Rpt_Dt into: Insp_Rpts separated by '~' from all ;
quit;
%global actlist Insp_Rpts ;
%put actlist = &actlist. ;
%put Insp_Rpts = &Insp_Rpts. ;
%let i=1;
%do %while(%length(%scan(&Insp_Rpts,&i,"~")));
%let act=%scan(&Insp_Rpts,&i,"~");
Proc SQL NoPrint; Select min(InspectionDate) FORMAT=MMDDYY10. into:MIN_DATE SEPARATED by ' ' from all
where Rpt_Dt ="&act."; Quit; %put Min_DATE = &Min_DATE. ;
Proc SQL NoPrint; Select max(InspectionDate) FORMAT=MMDDYY10. into:MAX_DATE SEPARATED by ' ' from all
where Rpt_Dt ="&act."; Quit; %put Max_DATE = &Max_DATE. ;
Proc SQL NoPrint;
Select Min(inspectionDate) format=mmddyy10. into:Stdt SEPARATED by ' ' From work.all where Rpt_Dt ="&act.";;
Quit;
Proc SQL NoPrint;
Select Max(inspectionDate) format=mmddyy10. into:Enddt SEPARATED by ' ' From work.all where Rpt_Dt ="&act.";;
Quit;
%Put Stdt = &Stdt. EndDt = &Enddt. ;
%let i=%eval(&i+1);
ods escapechar='~';
ods _all_ close;
%put act_A = &act.; /* *************** */
filename f_xlxp filesrvc parenturi="&SYS_JES_JOB_URI"
name="NR.xml"
contenttype='application/vnd.ms-excel'
contentdisp='attachment; filename="&act.xlsx" ' ;
ods excel file=f_xlxp style=Plateau ;
%LET Curr_date = %left(%qsysfunc(date(),mmddyy10.)) ;
%let bold_style=~S={font_size=15pt font_weight=bold foreground=blue}~;
title1 j=left color=blue height=14pt "Sample Report ";
Proc print data=all(where=(Rpt_Dt ="&act.")) noobs label sumlabel style(header)={background=#33adff color=white just=center } ;
Title color=blue "&act";
run;
ods excel close;
ods _all_ close;
ods listing;
data _null_;
file _webout;
put '<HTML>';
put "<HEAD><TITLE>Sample Report</TITLE></HEAD>";
put '<BODY>';
put "<P> <font size= 4.5 bgcolor= Black color = Red >Sample Report can be downloaded by clicking on the link below.";
put "<P><font size= 4.5 bgcolor= Black color = Red > <a href=""&_FILESRVC_F_XLXP_URI/content"" target=""_SASDLResults"">Click here to download the report</a>";
put '</BODY>';
put '</HTML>';
Run;
%end;
%mend;
%RW;