Hi, I have below table that I want to count by Obj and if same date then this can be ignored as same count. If date is zero then want is zero.
Obj | Dates | Want |
a | 1/01/2020 | 1 |
a | 1/01/2020 | 1 |
a | 2/01/2020 | 2 |
a | 3/01/2020 | 3 |
b | . | 0 |
Thanks in advance
data want;
set have;
by obj;
if first.obj then want = 0;
if dates ne . and (obj ne lag(obj) or dates ne lag(dates)) then want + 1;
run;
Assuming that your data is sorted by OBJ and DATE (meaning that missing dates come first) this should do it
data want;
set have;
by obj date;
if first.obj then count=not missing(date);
else count+first.date;
run;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.