|
Hi everyone,
I have the following code within a macro:
%IF &CUTOFF2 = NULL OR &CUTOFF2 = %THEN %LET EXPRESS =
%NRSTR(%SYSEVALF(&DISTINCT/&N > &CUTOFF1));
%ELSE %IF &CUTOFF1 = NULL OR &CUTOFF1 = %THEN %LET EXPRESS =
%NRSTR(%SYSEVALF(&DISTINCT > &CUTOFF2));
%ELSE %LET EXPRESS = %NRSTR(%SYSEVALF(&DISTINCT/&N > &CUTOFF1) &
%SYSEVALF(&DISTINCT > &CUTOFF2));
%PUT EXPRESS = &EXPRESS;
%IF %EVAL(%UPCASE(&TYPE) = N) & &EXPRESS %THEN %DO;
====
I receive the following in the SAS log:
EXPRESS = %SYSEVALF(&DISTINCT/&N > &CUTOFF1)
ERROR: A character operand was found in the %EVAL function or %IF
condition where a
numeric operand is required. The condition was:
%EVAL(%UPCASE(&TYPE) = N) &
&EXPRESS
ERROR: The macro DATA_ASSAY will stop executing.
Any ideas?
Thanks!
Dan
|