Trouble with count variable

Reply
Learner edu
Learner
Posts: 1

Trouble with count variable

Hi, I am new in SAS and trying to do a basic count varible but after it count the first observation the count variable remains the same.

 

Here the code:

 

DATA WORK.A;

SET B;

 

IF (X NE . OR X NE 0)

THEN

DO;

 COUNT + 1;

END;

 

;RUN;

 

 

Thanks for the help.

 

 

PROC Star
Posts: 7,437

Re: Trouble with count variable

If you want to increment count when x doesn't equal either missing or 0, then you're boolean logic is wrong. Try:

DATA WORK.A;
SET B;
 
IF (X NE . and X NE 0)
THEN
DO;
 COUNT + 1;
END;
 
RUN;

 

HTH,

Art, CEO, AnalystFinder.com

 

Super User
Posts: 7,445

Re: Trouble with count variable

If you already have a variable count in dataset b, this won't work, as the values read from the dataset will override your increment.

---------------------------------------------------------------------------------------------
Maxims of Maximally Efficient SAS Programmers
Super User
Super User
Posts: 7,720

Re: Trouble with count variable

Tip 1, make your code nice and readble, this is more important than what it actually does in most cases:

data work.a; 
  set b;
  if _n_=1 then count=0;
  count=count + ifn(x not in (.,0),1,0);
run;
  

Note the consistent casing, and the indentations, and also the use of the code window (either {i} above your post or the SAS one).  I would also avoid naming datasets a and b.

 

Tip 2, post test data in the form of a datastep:

https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-dat...

Remember we cannot see your computer, we don't know what your data looks like.

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