So verwenden sie die intnx-funktion in sas (mit beispielen)
Sie können die INTNX- Funktion in SAS verwenden, um ein Datum um ein bestimmtes Intervall wie einen Tag, eine Woche, einen Monat usw. zu erhöhen.
Diese Funktion verwendet die folgende grundlegende Syntax:
INTNX (Intervall, Startdatum, Inkrement)
Gold:
- Intervall : Das Intervall, das zum Datum hinzugefügt werden soll (Tag, Woche, Monat, Jahr usw.)
- start_date : Variable, die die Startdaten enthält
- Inkrement : Die Anzahl der hinzuzufügenden Intervalle
Um ein Intervall zu subtrahieren, geben Sie dem Inkrementargument eine negative Zahl an.
Die folgenden Beispiele zeigen einige gängige Möglichkeiten, die INTNX- Funktion in der Praxis mit dem folgenden Datensatz in SAS zu verwenden:
/*create dataset*/
data original_data;
date format date9.;
input date:date9. dirty;
datalines ;
01JAN2022 50
01FEB2022 34
14MAR2022 26
01MAY2022 22
24AUG2022 27
28OCT2022 48
14NOV2022 97
04DEC2022 88
;
run ;
/*view dataset*/
proc print data = original_data;
Beispiel 1: Verwenden Sie INTNX, um Tage zu diesem Tag hinzuzufügen
Mit der INTNX- Funktion können wir eine neue Spalte namens plus5days erstellen, die zu jedem Datum in der Datumsspalte fünf Tage hinzufügt:
/*create new dataset with column that adds 5 days to date*/
data new_data;
set original_data;
plus5days= intnx ('day', date, 5);
format plus5days date9.;
run ;
/*view dataset*/
proc print data = new_data;
Beachten Sie, dass die neue Spalte namens plus5days die Werte aus der Datumsspalte enthält, wobei fünf Tage hinzugefügt wurden.
Beispiel 2: Verwenden Sie INTNX, um Tage vom Datum zu subtrahieren
Sie können Tage auch subtrahieren, indem Sie einfach einen negativen Wert in der INTNX- Funktion verwenden.
Beispielsweise können wir den folgenden Code verwenden, um von jedem Wert in der Datumsspalte fünf Tage abzuziehen:
/*create new dataset with column that subtracts 5 days from date*/
data new_data;
set original_data;
minus5days= intnx ('day', date, -5);
format minusdays date9.;
run ;
/*view dataset*/
proc print data = new_data;
Beachten Sie, dass die neue Spalte namens minus5days die Werte aus der Datumsspalte enthält, wobei fünf Tage abgezogen wurden.
Beispiel 3: Verwenden Sie INTNX, um den ersten Tag des Monats zu finden
Mit der INTNX- Funktion können wir eine neue Spalte namens „firstmonth“ erstellen, die den ersten Tag des Monats für jedes Datum in der Datumsspalte enthält:
/*create new dataset with column that contains first day of the month*/
data new_data;
set original_data;
firstmonth = intnx ('month', date, 0);
format firstmonth date9.;
run ;
/*view dataset*/
proc print data =new_data;
Beachten Sie, dass die neue Spalte mit dem Namen „firstmonth“ den ersten Tag des Monats für jedes Datum in der Datumsspalte enthält.
Beispiel 4: Verwenden Sie INTNX, um den ersten Tag des Jahres zu finden
Wir können auch die INTNX- Funktion verwenden, um eine neue Spalte namens „firstyear“ zu erstellen, die den ersten Tag des Jahres für jedes Datum in der Datumsspalte enthält:
/*create new dataset with column that contains first day of the year*/
data new_data;
set original_data;
firstyear = intnx ('year', date, 0);
format firstyear date9.;
run ;
/*view dataset*/
proc print data =new_data;
Beachten Sie, dass die neue Spalte mit dem Namen „firstyear“ für jedes Datum in der Datumsspalte den ersten Tag des Jahres enthält.
Hinweis : Die vollständige Dokumentation zur SAS INTNX -Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So konvertieren Sie DateTime in SAS in ein Datum
So konvertieren Sie eine numerische Variable in SAS in ein Datum
So berechnen Sie die Differenz zwischen zwei Daten in SAS