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; 

INTCK-functie in SAS

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

Einen Kommentar hinzufügen

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