So berechnen sie die differenz zwischen zwei daten in sas


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, Jahr usw.)
  • Startdatum : Das Startdatum
  • Enddatum : Das Enddatum
  • Methode : ob vollständige Intervalle gezählt werden sollen („D“ = Nein (Standard), „C“ = Ja)

Das folgende Beispiel zeigt, wie Sie diese Funktion in der Praxis nutzen können.

Beispiel: Berechnen Sie die 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 14AUG2022
;
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 und Monaten 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);
run ;

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

Die drei neuen Variablen zeigen die Differenz zwischen start_date und end_date in Tagen, Wochen und Monaten.

Beachten Sie, dass wir das Argument „ c “ in der Funktion INTCK verwenden können, um die Differenz nur in ganzen Tagen, Wochen und Monaten 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 ');
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 normalisieren Sie Daten in SAS
So ersetzen Sie Zeichen in einer Zeichenfolge in SAS
So ersetzen Sie fehlende Werte in SAS durch Null
So entfernen Sie Duplikate in SAS

Einen Kommentar hinzufügen

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