Hoe het verschil tussen twee datums in sas te berekenen


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, jaar, etc.)
  • startdatum : de startdatum
  • einddatum : de einddatum
  • methode : of volledige intervallen moeten worden geteld (‚D‘ = Nee (standaard), ‚C‘ = Ja)

Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.

Voorbeeld: Bereken het verschil tussen datums in SAS

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 14AUG2022
;
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 en maanden:

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

/*view new dataset*/
proc print data =new_data; 

De drie nieuwe variabelen tonen het verschil tussen startdatum en einddatum in dagen, weken en maanden.

Merk op dat we het argument ‚ c ‚ in de INTCK-functie kunnen gebruiken om alleen het verschil in volledige dagen, weken en maanden 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 ');
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:

Gegevens normaliseren in SAS
Hoe tekens in een string in SAS te vervangen
Hoe ontbrekende waarden te vervangen door nul in SAS
Hoe duplicaten in SAS te verwijderen

Einen Kommentar hinzufügen

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