Hi guys, i am new in SAS programming and i got stuck in defining macro variable from my code:
/* Program */
/* ========================================================================= */
proc sql;
select PPI into :T0_PPI_Base from Work.PPI_Base where As_of_date=&T0;
quit;
proc sql;
select PPI into :T0_PPI_Best from Work.PPI_Best where As_of_date=&T0;
quit;
proc sql;
select PPI into :T0_PPI_Worst from Work.PPI_Worst where As_of_date=&T0;
quit;
%let T0_PPI_Weighted=%sysevalf(&T0_PPI_Base*0.6+&T0_PPI_Best*0.2+T0_PPI_Worst*0.2);
data A;
A=T0_PPI_Weighted;
run;
I would like to make a simple calculation T0_PPI_Weighted based on three defined macro variables T0_PPI_Base T0_PPI_Best T0_PPI_Worst
I run my code and get the below error message
ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required. The condition was: &T0_PPI_Base*0.6+&T0_PPI_Best*0.2+T0_PPI_Worst*0.2
I dont know why it can be ran and i have checked the captioned three variables are all numeric. Most Grateful if anyone could help in advising solution. Many thanks.
... View more