Community deutschsprachiger SAS-Anwender und -Programmierer

Antworten
Dies ist eine offene Gruppe. Melden Sie sich an und klicken Sie auf die Schaltfläche „Gruppe beitreten“, um Mitglied zu werden und damit zu beginnen, Beiträge in dieser Gruppe zu veröffentlichen.
Highlighted
Contributor
Beiträge: 42
Today - Datum

Mal wieder eine Anfängerfrage Frau (gleichgültig)

 

Ich möchte von heute bzw. vom Ultimo des letzten Monats ein Datum abziehen und mir den Wert in Tagen anzeigen lassen.

 

Ist jemand so nett und hilft? Danke!

Frequent Contributor
Beiträge: 117
Betreff: Today - Datum

Hallo @Fay123,

 

was spricht gegen:

tagesabweichung = TODAY() - datumsvariable

ggf. mit vorheriger Prüfung, ob datumsvariable missing ist.

 

Die Sache mit dem Ultimo ist schon eher knifflig. Hier würde ich vorschlagen eine separate Tabelle mit den entsprechenden Tagen zu generieren und hinzu zu joinen.

Leider kenne ich mich zu wenig mit der genauen Definition von Ultimo, bzw. die in Deinem Fall benötigte Definition aus (müssen z.B. deutsche oder internationale Feiertage brücksichtigt werden?).

 

Die INTNX-Funktion dürfte sicherlich hilfreich sein und evtl. könnte dann noch mit DAY auf Wochentage geprüft werden.

 

Beste Grüße

Michael

Occasional Contributor
Beiträge: 9
Betreff: Today - Datum

Hallo Fay123,

 

da SAS Datumswerte intern als Zahl speichert (Anzahl Tage seit 01.01.1960) kann man zwei Datumswerte einfach voneinander abziehen.

data TEST;
	DATUM1 = '08nov2016'd; /* Entspricht 20766 */
	DATUM2 = '31oct2016'd; /* Entspricht 20758 */
	DIFFERENZ = DATUM1 - DATUM2; /* 20766 - 20758 = 8 */
run;

Oder zielt die Frage dahin, wie man den letzten Ultimo berechnet? Das geht bequem mit der intnx()-Funktion.

 

data TEST;
	DATUM1 = '08nov2016'd;
	attrib ULTIMO format=DDMMYYP10.;
	ULTIMO = intnx('MONTH',DATUM1,-1,'END');
run;

Viel Erfolg!

 

Contributor
Beiträge: 42
Betreff: Today - Datum

Super vielen Dank, eine weitere Hürde ist bewältigt dank eurer Hilfe ;-)