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;
Catch the best of SAS Innovate 2025 — anytime, anywhere. Stream powerful keynotes, real-world demos, and game-changing insights from the world’s leading data and AI minds.
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.