/***************************************************************************************************************** SAS file name: resolve_sysevalf.sas File location: __________________________________________________________________________________________________________________ Purpose: To demonstrate how to use the Resolve Function and the %Sysevalf Macro function to evaluate expressions stored in a character variable in the SAS Data Step Author: Peter Clemmensen Creation Date: 17/03/2020 This program supports the blog post "Evaluate Arithmetic Expression in Character Variable" on SASnrd.com *****************************************************************************************************************/ %let expr = 2.5*2**2+1; %let num = %sysevalf(&expr); %put # data test; expr = '2.5*2**2+1'; num = input(resolve('%sysevalf('||expr||')'), 8.); run;