Hoe de intck-functie in sas te gebruiken (met voorbeelden)
U kunt de INTCK- functie in SAS gebruiken om snel het verschil tussen twee datums in SAS te berekenen.
Deze functie gebruikt de volgende basissyntaxis:
INTCK (interval, startdatum, eindgegevens, methode)
Goud:
- interval : Te berekenen interval (dag, week, maand, kwartaal, jaar, etc.)
- startdatum : de startdatum
- einddatum : de einddatum
- methode : Tel intervallen met behulp van een discrete of continue methode
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: de INTCK-functie gebruiken om het verschil tussen datums in SAS te berekenen
Stel dat we de volgende gegevensset in SAS hebben die twee datumvariabelen bevat:
/*create dataset*/
data original_data;
format start_date end_date date9. ;
input start_date: date9. end_date: date9. ;
datalines ;
01JAN2022 09JAN2022
01FEB2022 22FEB2022
14MAR2022 04APR2022
01MAY2022 14AUG2023
06AUG2022 10NOV2024
;
run ;
/*view dataset*/
proc print data = original_data;
We kunnen de volgende code gebruiken om het verschil te berekenen tussen de waarden van de variabelen start_date en end_date in dagen, weken, maanden, kwartalen en jaren:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date);
weeks_diff = intck (' weeks ', start_date, end_date);
months_diff = intck (' months ', start_date, end_date);
qtr_diff = intck (' qtr ', start_date, end_date);
years_diff = intck (' years ', start_date, end_date);
run ;
/*view new dataset*/
proc print data = new_data;
De vijf nieuwe variabelen tonen het verschil tussen startdatum en einddatum in dagen, weken, maanden, kwartalen en jaren.
Merk op dat we het argument ‚ c ‚ in de INTCK- functie kunnen gebruiken om alleen het verschil in volledige dagen, weken, maanden, kwartalen en jaren te berekenen:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date, ' c ');
weeks_diff = intck (' weeks ', start_date, end_date, ' c ');
months_diff = intck (' months ', start_date, end_date, ' c ');
qtr_diff = intck (' qtr ', start_date, end_date, ' c ');
years_diff = intck (' years ', start_date, end_date, ' c ');
run ;
/*view new dataset*/
proc print data = new_data;
Let op het verschil tussen deze tabel en de vorige tabel.
In deze tabel wordt het verschil in weken tussen 1 januari en 9 januari berekend als 1 , omdat er tussen deze datums slechts één volledige week kan passen.
In de vorige tabel werd het verschil in weken echter op 2 berekend, omdat er tussen deze twee data twee gedeeltelijke weken lagen.
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
Dagen tot nu toe toevoegen in SAS
Hoe u de dag van de week vanaf de datum in SAS kunt krijgen