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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert