BookmarkSubscribeRSS Feed
Mike_Davis
Fluorite | Level 6


Hello everyone,

I will get an error if I run the SAS code below.

Please give me some advise.

Thanks

Mike

%let time1=%sysfunc(time());
%put &time1;

    data _null_;

      wait=sleep(5);

    run;

%let time2=%sysfunc(time());
%put &time2;
%let diff=%eval(&time2-&time1);

*ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required;

2 REPLIES 2
data_null__
Jade | Level 19

Use SYSEVALF or use a FORMAT with SYSFUNC (second argument) that returns the number of seconds as an integer.

Astounding
PROC Star

On a related note, if you do switch to %SYSEVALF, understand that the resulting &DIFF will contain a decimal point.  That has the potential to cause problems down the road if &DIFF is used in later %EVAL functions.

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1145 views
  • 6 likes
  • 3 in conversation