DATA Step, Macro, Functions and more

what does x4 do?

Reply
Super Contributor
Posts: 647

what does x4 do?

data ek;

x1=5;

x2=6;

x3=7;

x4=(x1|x2|x3);

run;

x4=1 in output

Contributor
Posts: 45

Re: what does x4 do?

x4=(x1|x2|x3 ) is the same as x4=(x1 OR x2 OR x3)

which is TRUE and therefore 1 (because it is an assignment statement and will always be true).

Furthermore, any number OR'ed with another number   would give 1, except (0 OR 0) which would give 0.

So, (34 OR 987765)=1

Super User
Posts: 17,734

Re: what does x4 do?

It won't always be true, what if all are 0?

In SAS false is 0 and anything else is true.

data ek;

x1=0;

x2=0;

x3=0;

x4=(x1|x2|x3);

put x4;

run;

Super User
Posts: 5,069

Re: what does x4 do?

Also, don't forget missing values are also false.

x1=.;

x2=.A;

x3=.Z;

x4=(x1|x2|x3);

x4 will be 0.

Ask a Question
Discussion stats
  • 3 replies
  • 196 views
  • 5 likes
  • 4 in conversation