Ich muss Max (Measure) in den letzten 3 Monaten für jede ID und Monat berechnen, ohne PROC SQL.Ich habe mich gefragt, ob ich dies mit der RETAIN-Anweisung tun könnte, aber ich habe keine Ahnung wie man die Bedingung des Vergleichs des Wertes von Measure in der aktuellen Zeile und den vorhergehenden zwei implementiert.SAS Höchstwert in vorhergehenden Zeilen
Ich muss auch die oben genannten für mehr als 3 Monate vorbereiten, so dass jede Lösung, die keinen separaten Schritt für jeden weiteren Monat erfordern würde absolut geschätzt werden! Hier
die Daten die ich habe:
data have;
input month ID $ measure;
cards;
201501 A 0
201502 A 30
201503 A 60
201504 A 90
201505 A 0
201506 A 0
201501 B 0
201502 B 30
201503 B 0
201504 B 30
201505 B 60
;
hier das, was ich brauche:
data want;
input month ID $ measure max_measure_3m;
cards;
201501 A 0 0
201502 A 30 30
201503 A 60 60
201504 A 90 90
201505 A 0 90
201506 A 0 90
201501 B 0 0
201502 B 30 30
201503 B 0 30
201504 B 30 30
201505 B 60 60
;
And here both tables: the one I have on the left and the one I need on the right
Post, was Sie ausprobiert haben bitte. – Reeza
'proc expand daten = haben out = will method = none; nach ID; ID Monat; konvertieren measure = measure_max3/transformout = (MOVMAX 3); laufen; ' – Aga