Verwendung der intck-funktion in sas (mit beispielen)
Sie können die INTCK- Funktion in SAS verwenden, um schnell die Differenz zwischen zwei Datumsangaben in SAS zu berechnen.
Diese Funktion verwendet die folgende grundlegende Syntax:
INTCK (Intervall, Startdatum, Enddaten, Methode)
Gold:
- Intervall : Zu berechnendes Intervall (Tag, Woche, Monat, Quartal, Jahr usw.)
- Startdatum : Das Startdatum
- Enddatum : Das Enddatum
- Methode : Zählen Sie Intervalle mit einer diskreten oder kontinuierlichen Methode
Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.
Beispiel: Verwenden der INTCK-Funktion zur Berechnung der Differenz zwischen Datumsangaben in SAS
Nehmen wir an, wir haben den folgenden Datensatz in SAS, der zwei Datumsvariablen enthält:
/*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;
Mit dem folgenden Code können wir die Differenz zwischen den Werten der Variablen start_date und end_date in Tagen, Wochen, Monaten, Quartalen und Jahren berechnen:
/*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;
Die fünf neuen Variablen zeigen die Differenz zwischen start_date und end_date in Tagen, Wochen, Monaten, Quartalen und Jahren.
Beachten Sie, dass wir das Argument „ c “ in der Funktion INTCK verwenden können, um die Differenz nur in ganzen Tagen, Wochen, Monaten, Quartalen und Jahren zu berechnen:
/*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;
Beachten Sie den Unterschied zwischen dieser Tabelle und der vorherigen Tabelle.
In dieser Tabelle wird die Wochendifferenz zwischen dem 1. und 9. Januar als 1 berechnet, da zwischen diesen Daten nur eine ganze Woche Platz findet.
In der vorherigen Tabelle wurde die Differenz in Wochen jedoch mit 2 berechnet, da zwischen diesen beiden Daten zwei Teilwochen lagen.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in SAS ausführen:
So konvertieren Sie DateTime in SAS in ein Datum
So fügen Sie aktuelle Tage in SAS hinzu
So ermitteln Sie den Wochentag aus dem Datum in SAS