Zeit-Macro-Variablen, passend zu einem Tag

Der Macro %zeiten erstellt passend zum aktuellen Tagesdatum (default) oder zu einem beliebigen anderen Datum Zeit-Macro-Variablen.

"Passende" Zeit-Macro-Variablen sind z. B.

  • Anfang der VorWoche, wahlweise Sonntag oder Montag
  • Ende der VorWoche, wahlweise Fr, Sa, oder So
  • die "letzten 12 Monate" (von &VJJAMON6. bis &VORMON6. sind genau 12 Monate)
  • Vormonat (Anfang/ Ende), wichtig bei Jahreswechsel !!!

Einmal global definiert können die Zeit-Macro-Variablen in allen SAS-Macro-Programmen verwendet werden. Eine tolle Sache, z.B.

  • wenn regelmäßig und dynamisch auf einen bestimmten Zeitraum selektiert werden muß
  • zum erstellen von Jahresvergleichen über ein gleiches Zeitfenster

Beispiel für 13. Oktober 1999:

%zeiten(TestDatu=19991013);

Output:

Doku/Muster der Zeit-Definitionen (Vor-Monat, etc)
 
Durch den Macro 'zeiten' stehen folgende automatisch geladene
Macro-Variablen mit Zeiten zur Verfügung
 
Im Beispiel gilt:
     TestDatu= 19991013 (akt. Tag im Beispiel)
 
aktyy4   ist 2006      akt. Jahr zu akt. Datum
vormon8  ist 19990930  Vor-Monat, im 'passenden Jahr', mit LETZTEM Tag im Monat
vormon6  ist 199909    Vor-Monat, im 'passenden Jahr'
vvormon6 ist 199908    Vor-Vor-Monat, im 'passenden Jahr'
vjjvmon8 ist 19980901  Vor-Monat, im Vor-Jahr, mit 1. Tag im Monat
vjjvmon6 ist 199809    Vor-Monat, im Vor-Jahr
vvjvmon6 ist 199709    Vor-Monat, im Vor-Vor-Jahr
vjvvmon6 ist 199808    Vor-Vor-Monat, im Vor-Jahr
vjjamon8 ist 19981001  Monat, im Vor-Jahr, mit 1. Tag im Monat
vjjamon6 ist 199810    Monat, im Vor-Jahr
                       (AnwendungsBsp: von 199810 bis 199909 sind genau 12 Monate)
vorqtr6  ist 199903    Vor-Quartal, im 'passenden Jahr'
vjjvqtr6 ist 199803    Vor-Quartal, im Vor-Jahr
voryy6   ist 199801    Vor-Jahr, mit 1. Monat im Jahr
voryy4   ist 1998      Vor-Jahr
VORKWa8  ist 19991004  Vor-Woche, erster  Arbeits-Tag==Anfang der Vorwoche
                       (wenn Wochen-Anf.=Montag [erster Arbeitstag])
VORKWe8  ist 19991009  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Samstag [Sa=letzter Arbeitstag])
VORKWFR8 ist 19991008  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Freitag [Fr=letzter Arbeitstag])
VORKWSA8 ist 19991009  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Samstag [Sa=letzter Arbeitstag])
VORKWSO8 ist 19991010  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Sonntag [So=letzter Arbeitstag])
vvoryy4  ist 1997      Vor-Vor-Jahr
vvoryy6  ist 199701    Vor-Vor-Jahr, mit 1. Monat im Jahr
 

Beispiel für 29. September 2006 (heute):

%zeiten(TestDatu=20060929);

Output:

Doku/Muster der Zeit-Definitionen (Vor-Monat, etc)
 
Durch den Macro 'zeiten' stehen folgende automatisch geladene
Macro-Variablen mit Zeiten zur Verfügung
 
Im Beispiel gilt:
     TestDatu= 20060929 (akt. Tag im Beispiel)
 
aktyy4   ist 2006      akt. Jahr zu akt. Datum
vormon8  ist 20060831  Vor-Monat, im 'passenden Jahr', mit LETZTEM Tag im Monat
vormon6  ist 200608    Vor-Monat, im 'passenden Jahr'
vvormon6 ist 200607    Vor-Vor-Monat, im 'passenden Jahr'
vjjvmon8 ist 20050801  Vor-Monat, im Vor-Jahr, mit 1. Tag im Monat
vjjvmon6 ist 200508    Vor-Monat, im Vor-Jahr
vvjvmon6 ist 200408    Vor-Monat, im Vor-Vor-Jahr
vjvvmon6 ist 200507    Vor-Vor-Monat, im Vor-Jahr
vjjamon8 ist 20050901  Monat, im Vor-Jahr, mit 1. Tag im Monat
vjjamon6 ist 200509    Monat, im Vor-Jahr
                       (AnwendungsBsp: von 200509 bis 200608 sind genau 12 Monate)
vorqtr6  ist 200602    Vor-Quartal, im 'passenden Jahr'
vjjvqtr6 ist 200502    Vor-Quartal, im Vor-Jahr
voryy6   ist 200501    Vor-Jahr, mit 1. Monat im Jahr
voryy4   ist 2005      Vor-Jahr
VORKWa8  ist 20060918  Vor-Woche, erster  Arbeits-Tag==Anfang der Vorwoche
                       (wenn Wochen-Anf.=Montag [erster Arbeitstag])
VORKWe8  ist 20060923  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Samstag [Sa=letzter Arbeitstag])
VORKWFR8 ist 20060922  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Freitag [Fr=letzter Arbeitstag])
VORKWSA8 ist 20060923  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Samstag [Sa=letzter Arbeitstag])
VORKWSO8 ist 20060924  Vor-Woche, letzter Arbeits-Tag==Ende der Vorwoche
                       (wenn Wochen-Ende=Sonntag [So=letzter Arbeitstag])
vvoryy4  ist 2004      Vor-Vor-Jahr
vvoryy6  ist 200401    Vor-Vor-Jahr, mit 1. Monat im Jahr