"Perioden" in Datensatz erkennen und ausschreiben

Hallo Forum,

ich erkläre mein Vorhaben am besten an einem kleinen Beispiel:

data test;
input var @@;
cards;
1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 1 0 0 1
;
run;

Ich möchte, dass die Einsen aufsummiert und in eine neue Datei ausgeschrieben werden, sobald eine 0 kommt.
Also Ausgabe wünsche ich mir also 2, 5, 3, 1.
Kennt da jemand ein sinnvolles Vorgehen?

Im echten Datensatz geht es um die Identifikation von Trockenperioden. Es reicht nicht, z.B. Monatsweise aufzusummieren, weil es darauf ankommt, wie viele Tage hintereinander es trocken war.

Viele Grüße,
Simon

Eine Möglichkeit....

...wäre diese

DATA test2;
SET test end = finish; /* Erstellt interne Variable finish, die für die letze Beobachtung den Wert 1 annimt */
RETAIN sum; /* Initialisierung der Variable sum mit dem Wert der vorhergehenden Beobachtung */
IF _n_ = 1 THEN
sum = 0; /* Initialisierung der Summe */
sum = sum + var; /* Aufsummien von var über die Beobachtungen */
IF (var = 0 OR finish) AND sum ne 0 THEN DO; /* Ausschreiben der Summe, wenn entweder var = 0
für die aktuelle Beobachtung oder die letzte Beobachtung erreicht ist */
OUTPUT;
sum = 0; /* Neuinitialisierung der Summe */
END;
RUN;

Super, das ist ja einfacher

Super, das ist ja einfacher als ich dachte :-)