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