Hoe de intnx-functie in sas te gebruiken (met voorbeelden)


U kunt de INTNX- functie in SAS gebruiken om een datum met een specifiek interval te verhogen, zoals een dag, een week, een maand, enz.

Deze functie gebruikt de volgende basissyntaxis:

INTNX (interval, startdatum, stapgrootte)

Goud:

  • interval : Het interval dat aan de datum moet worden toegevoegd (dag, week, maand, jaar, enz.)
  • start_date : Variabele die de startdatums bevat
  • increment : het aantal toe te voegen intervallen

Als u een interval wilt aftrekken, geeft u een negatief getal op bij het argument ‚increment‘ .

De volgende voorbeelden tonen enkele veelvoorkomende manieren om de INTNX- functie in de praktijk te gebruiken met de volgende dataset in SAS:

 /*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; 

Voorbeeld 1: Gebruik INTNX om dagen aan deze dag toe te voegen

We kunnen de INTNX- functie gebruiken om een nieuwe kolom te maken met de naam plus5days , die vijf dagen toevoegt aan elke datum in de datumkolom :

 /*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; 

Merk op dat de nieuwe kolom plus5days de waarden bevat uit de datumkolom waaraan vijf dagen zijn toegevoegd.

Voorbeeld 2: Gebruik INTNX om dagen van de datum af te trekken

U kunt ook dagen aftrekken door simpelweg een negatieve waarde in de INTNX- functie te gebruiken.

We kunnen bijvoorbeeld de volgende code gebruiken om vijf dagen af te trekken van elke waarde in de datumkolom :

 /*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; 

Merk op dat de nieuwe kolom minus5days de waarden uit de datumkolom bevat, met vijf dagen afgetrokken.

Voorbeeld 3: Gebruik INTNX om de eerste dag van de maand te vinden

We kunnen de INTNX- functie gebruiken om een nieuwe kolom te maken met de naam eerste maand , die de eerste dag van de maand bevat voor elke datum in de datumkolom :

 /*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; 

Houd er rekening mee dat de nieuwe kolom met de naam eerste maand de eerste dag van de maand bevat voor elke datum in de datumkolom .

Voorbeeld 4: Gebruik INTNX om de eerste dag van het jaar te vinden

We kunnen ook de INTNX- functie gebruiken om een nieuwe kolom te maken met de naam firstyear , die de eerste dag van het jaar bevat voor elke datum in de datumkolom :

 /*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; 

Houd er rekening mee dat de nieuwe kolom met de naam eerstejaar de eerste dag van het jaar bevat voor elke datum in de datumkolom .

Let op : U kunt hier de volledige documentatie voor de SAS INTNX- functie vinden.

Aanvullende bronnen

In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:

Hoe DateTime naar datum te converteren in SAS
Hoe een numerieke variabele tot nu toe in SAS te converteren
Hoe het verschil tussen twee datums in SAS te berekenen

Einen Kommentar hinzufügen

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