Hallo zusammen,
ich habe eine Tabelle bei der in einer Spalte verschiedene Daten (Datum) stehen. Nun möchte ich mir in einer neuen Tabelle aber nur die Einträge für den Zeitraum 2. und 3. Woche ab dem 7.11.2018 anzeigen lassen.
Die Anzeige eines einzelnen Datums (z.B. 7.11.18 + 2 Wochen) ist kein Problem. Aber ich benötige wie gesagt alle Einträge für den Zeitraum 2.+3. Woche.
Leider war meine lange Suche im Netz vergeblich. Deshalb würde ich mich freuen Hilfe zu bekommen.
Viele Grüße
Katrin
Wenn ich die Frage richtig verstehe, sollte eine einfache Selektion ausreichen:
PROC SQL;
CREATE TABLE <Nur2Wochen> AS
SELECT *
FROM <AlleDaten>
WHERE <Datum> BETWEEN '07NOV2018'd + 14 AND '07NOV2018'd + 21
;
QUIT;
Die Platzhalter zwischen den spitzen Klammern müssen durch die richtigen Werte für die Tabellen und Variablen ersetzt werden.
Viele Grüße
Andreas
Das kommt darauf an, wie man den Wochenabstand definiert:
data have;
format datum e8601da10.;
do datum = '07nov2018'd to '05dec2018'd;
output;
end;
run;
%let startdate=%sysfunc(inputn(2018-11-07,yymmdd10.));
data want1;
set have;
where &startdate + 7 <= datum < &startdate. + 21;
run;
data want2;
set have;
where intck('week',&startdate.,datum) in (1,2);
run;
data want3;
set have;
where intck('week',&startdate.,datum,'c') in (1,2);
run;
Variante 1 und Variante 3 liefern hier das gleiche Ergebnis.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!