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;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.