Hello @Lulus,
Here is what happens with each observation of your example dataset when mohamed_zaki's data step is executed (focusing on the three lines of code starting with "if"):
ID seq happen comment
1 1 0 delflag is set to 0, obs. (incl. delflag) is written to WANT due to OUTPUT statement
1 2 0 delflag is still 0 due to RETAIN, obs. is written to WANT
1 3 1 delflag is still 0, obs. is written to WANT, delflag is set to 1
2 1 0 delflag is set to 0, obs. is written to WANT
2 2 1 delflag is still 0, obs. is written to WANT, delflag is set to 1
2 3 0 delflag is still 1, hence obs. is not written to WANT
2 4 1 delflag is still 1, hence obs. is not written to WANT, delflag is set to 1
... View more