Search code examples
sassas-macro

SAS unable to interpret symbol "≤" in macro execution?


Can you please explain why SAS interprets "≤" as "=" after execution in a macro or in proc report?

For example

%let a= ≤ ;

%put a is equal to &a;

The SAS log shows the following message:

SYMBOLGEN:  Macro variable A resolves to =
a is equal to =

I also used quoting/masking functions, but it didn't help.


Solution

  • ≤ is not part of the standard ASCII character set.

    It may be the case that the SAS Editor doesn't support extended character sets, e.g. UTF-8 or Unicode.

    When I copy/paste the ≤ symbol from my browser into SAS Editor, it becomes the = character.

    If you wish to do a less-than-or-equals logical comparision in datastep or macro, simply use <=.