When I write:
%let x = 0.32;
How can I make sure that x is initialized as a numeric variable and not a character variable? I want to be able to do numerical operations on x.
You can perform numerical calcuations to create additional MACRO variable values using the %sysfunc or %eval<integers only> or %sysevalf.
%let x = 0.32;
%let y = %sysevalf(&x * 6.2);
%let z = %sysfunc( max(&x,&y,23));
%put y= &y z= &z;
If the idea is to do numeric operations in a data step then your X variable would be treated and used as a constant value.
macro variables are always text based as the goal is modify the sas source code.
In normal situations numerical calculations are exceptional in a sas macro as they are processed within a sas-datastep.
Are you sure you are not mixing up some goals of the several different coding languages within a SAS environment?
You can perform numerical calcuations to create additional MACRO variable values using the %sysfunc or %eval<integers only> or %sysevalf.
%let x = 0.32;
%let y = %sysevalf(&x * 6.2);
%let z = %sysfunc( max(&x,&y,23));
%put y= &y z= &z;
If the idea is to do numeric operations in a data step then your X variable would be treated and used as a constant value.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Use this tutorial as a handy guide to weigh the pros and cons of these commonly used machine learning algorithms.
Find more tutorials on the SAS Users YouTube channel.