<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo Leute,
Ich habe einen Datensatz, der tägliche Schneehöhendaten für einen Zeitraum von 20 Jahren enthält.Ich muss das Datum pro Jahr bestimmen, an dem der Spitzen- oder Maximalwert der Schneehöhe auftrat.Irgendwelche Vorschläge, wie dies erreicht werden kann?Danke.
Sie erhalten möglicherweise viele Daten, die die maximale Tiefe gemeinsam haben. So erhalten Sie sie:
proc sql;
Erstellen Sie Tischspitzen als
Wählen Sie Jahr (Datum) als Jahr, Datum, Tiefe aus
von myData
Gruppieren Sie nach berechnetem Jahr
mit Tiefe = max(Tiefe);
wähle * von Gipfeln aus;
aufhören;
PG
Der von mpb beschriebene Ansatz eignet sich hervorragend, um die maximale Tiefe zur Originaltabelle hinzuzufügen. Ich habe mein ursprüngliches Beispiel geändert, um die maximale Tiefe und das Datum aus der Tabelle auszudrucken. Ich gehe davon aus, dass Sie die Felder „Schneedatum“ (Datumstyp) und „Schneetiefe“ (Zahl) haben. Ich habe eine Spaltenformel für eine Jahresspalte hinzugefügt.
dt= Neue Tabelle( "Schneefall",
Zeilen hinzufügen (20 ),
Neue Spalte( "Schneetiefe",Numerisch,Kontinuierlich, Format( "Am besten", 12 ),
Werte festlegen (
[34, 45, 53, 56, 99, 67, 12, 78, 53, 89, 77, 90, 48, 12, 73, 23, 12, 34,
6, 45] ) ),
Neue Spalte( "Schnee-Date",Numerisch,Kontinuierlich, Format( „ttMonyyyy“, 10 ),
Eingabeformat („ttMonyyyy“ ),
Werte festlegen (
[1767225600, 1771113600, 1805155200, 1809129600, 1843084800, 1838160000,
1889049600, 1893283200, 1896220800, 1900281600, 1950566400, 1955491200,
1957651200, 1964217600, 1990396800, 1995926400, 2023488000, 2029449600,
2051481600, 2056752000] ) ),
Neue Spalte( "Schneejahr",Numerisch,Kontinuierlich, Format( "Am besten", 12 ),
Formel (Jahr( :Schneedatum ) ),
Sperren (1 )
)
);
// Holen Sie sich die höchsten Schneefälle für jedes Jahr
zusammenfassen(Jahresliste=von (:Schneejahr ),maximale_Tiefe_Liste=max(:Schneehöhe ));
// Jetzt erhalten Sie die Daten der höchsten Schneefall
für (i = 1, i <= nrows(max_Tiefenliste ), i++,
ein Jahr=Jahresliste [ i ];
eine_tiefe=max_tiefe_liste [ i ];
// Die maximale Schneehöhe könnte an verschiedenen Tagen gleich sein
ein_Jahr_max_Zeilen=dt<<Holen Sie sich Zeilen, in denen (:Schneejahr== in einem(ein_jahr )&
:Schneetiefe==eine_tiefe );
für (k = 1, k <= nrows(ein_jahr_max_zeilen ), k++,
m =ein_Jahr_max_Zeilen [ k ];
Schneedatum= :Schneefall Datum [ m ];
print ( "Maximale Schneefallmenge von " || char ( one_depth ) || " am " ||
Format(Schneedatum, „ttMonyyyy“));
);
);