Die Daten sind im Grunde Monat für Monat Preis der Konfiguration. Ich wollte einen Trend von AMOUNT bekommen. Wie verhält sich der Preis über einen Zeitraum von 12 Monaten für jede Konfiguration und den Gesamttrend?Erhalten Sie die Differenz zwischen den Werten auf Zeilenebene in sas
Proc sql unterstützt keine "diff" -Syntax. Ich kann die normale "do" -Schleife im Datensatz nicht verwenden, da dies hier nicht wirklich hilfreich ist.
Also kann mir jemand dabei helfen?
Dieser Code dient dazu, die Daten im Grunde zu gruppieren und einen Durchschnittspreis für jede Konfiguration in diesem Monat zu erhalten.
proc sql;
create table c.price1 as
select
configuration,
month,
mean(retail_price) as amount format = dollar7.2
from c.price
where
configuration is not missing
and month is not missing
and retail_price is not missing
group by configuration, month;
quit;
DATA:
Configuration Month Amount
1 1 $370.00
1 2 $365.00
1 3 $318.00
1 4 $355.00
1 5 $350.00
1 6 $317.40
1 7 $340.00
1 8 $335.00
1 9 $297.00
1 10 $325.00
1 11 $320.00
1 12 $286.65
2 1 $320.00
2 2 $315.00
2 3 $287.86
2 4 $305.00
2 5 $300.00
2 6 $263.76
....... usw.
Ich verstehe nicht, was Ihre Frage ist. Kannst du bitte deine gewünschte Ausgabe posten? Warum können Sie einen Datenschritt mit diff-Funktion nicht verwenden? – Reeza
Sie können immer eine Tabelle an sich selbst unter der Bedingung a.month = b.month-1 und a.config = b.config verbinden. – Reeza
wenn ich dif Funktion dann wie kontrolliere ich es. In dem Sinne, wenn die Konfiguration von 1 zu 2 ändert, dann will ich nicht $ 320- $ 286.65 (entsprechend den Daten). Ich möchte, dass es gruppiert wird. Wenn sich die Konfiguration ändert, startet die Funktion "dif" also neu. – Dhananjai