Help using Base SAS procedures

Help to understand a few SAS symbols

Accepted Solution Solved
Reply
Super Contributor
Posts: 338
Accepted Solution

Help to understand a few SAS symbols

Hi SAS Forum,

This code was written by another programmer.

I am trying to understand two symbols highlighted in yellow color in it.

%if &income = 0 %then %do;

       data wave_2;

         set wave_1;

         by transit_branch acctnumber;

         if ~(first.acctnum and last.acctnum) then do;

           if currbal ~= (acctbal * -1) then delete;

         end;

         run;

%end;

%else %do;

    proc sort data=wave_1 out=wave_2 nodupkey;

         by transit_branch acctnumber;

         run;

%end;

Q:

Could you please let me know if the way I understand it correct.

if ~(first.acctnum and last.acctnum) then do;

This means,

if not (first.acctnum and last.acctnum) then do;

if currbal ~= (acctbal * -1) then delete;

This would mean:

if currbal ne (acctbal * -1) then delete;

Thanks

Mirisage


Accepted Solutions
Solution
‎03-25-2013 02:17 PM
Valued Guide
Posts: 634

Re: Help to understand a few SAS symbols

Yes the ~ is another symbol for not.  In addition to the word 'not' you can also use the ^ symbol.  On the mainframe this symbol looks different but is still the shift-6 key.  Some languages use <> or >< for variations of not equal.  These two combinations have different meanings in SAS and IMO should be avoided.

View solution in original post


All Replies
Solution
‎03-25-2013 02:17 PM
Valued Guide
Posts: 634

Re: Help to understand a few SAS symbols

Yes the ~ is another symbol for not.  In addition to the word 'not' you can also use the ^ symbol.  On the mainframe this symbol looks different but is still the shift-6 key.  Some languages use <> or >< for variations of not equal.  These two combinations have different meanings in SAS and IMO should be avoided.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 1 reply
  • 137 views
  • 0 likes
  • 2 in conversation