Ich mache die Übungen aus dem SAS Programming 2 Lehrbuch.SAS: Konvertieren schmaler zu weiter Datensatz
Ich versuche, diese Daten zu konvertieren:
Narrow Data set Um eine große Datensatz wie folgt aus:
Wide Data Set Ich bin auch ein Array haben in meinem Daten Schritt und nur dann ausgegeben, soll die Variable customer_id und month1 bis month12.
Mein Code ist folgende:
Data customer_orders(keep=Customer_ID month1-month12);
set orion.order_summary;
by customer_id;
array month{12} month1-month12;
do i= 1 to 12;
if order_month = i then
month{i}= sale_amt;
end;
run;
proc print data=customer_orders;
run;
Mein Problem, wenn ich diesen Code ausführen, dass die Beobachtungen alle der sale_amt Werte für customer_id nicht in einer Beobachtung angezeigt, sondern springt in die nächste Zeile angezeigt werden der zweite in der Beobachtung gefundene Wert.
Jede Hilfe würde sehr geschätzt werden.
Hinweis: Ich bin nicht berechtigt, einen anderen Link zu veröffentlichen, wie meine Ausgabe aussieht.
Sie müssen RETAIN verwenden, um Variablen über Zeilen hinweg zu speichern. Andernfalls werden die Array-Variablen in jeder Zeile auf "Missing" gesetzt. Sie benötigen auch eine explizite OUTPUT-Anweisung. – Reeza