Expertentipp:
Wussten Sie schon, dass auch in der SAS Software
die Woche am Montag beginnen kann?
Und so geht's:
Mit der Prozedur FCMP können eigene Funktionen erstellt werden. Eine Funktion für den Wochentag, bei dem 1 für Montag, 2 für Dienstag usw. und 7 für Sonntag steht erstellen Sie mit folgendem Programm:
proc fcmp outlib = work.functions.samples;
function sas_myweekday(mydate);
return(weekday(mydate)-1+(weekday(mydate)=1)*7);
endsub;
run;
options cmplib=work.functions;
/* Anwendung der selbst erstellten Funktion, um eine Variable Wochentag_anders zu erstellen */
data wochentag_test;
Do Datum='01jun2014'd to '08jun2014'd;
Wochentag_Name=Strip(Put(Datum,deudfwkx.));
Wochentag_engl=Weekday(Datum);
Wochentag_anders=sas_myweekday(Datum);
Output;
end;
run;
proc print data=wochentag_test;
run;
Ausgabe:
Obs | Datum | Wochentag_Name | Wochentag_engl | Wochentag_anders |
---|---|---|---|---|
1 | 19875 | Sonntag, 1. Juni 2014 | 1 | 7 |
2 | 19876 | Montag, 2. Juni 2014 | 2 | 1 |
3 | 19877 | Dienstag, 3. Juni 2014 | 3 | 2 |
4 | 19878 | Mittwoch, 4. Juni 2014 | 4 | 3 |
5 | 19879 | Donnerstag, 5. Juni 2014 | 5 | 4 |
6 | 19880 | Freitag, 6. Juni 2014 | 6 | 5 |
7 | 19881 | Samstag, 7. Juni 2014 | 7 | 6 |
8 | 19882 | Sonntag, 8. Juni 2014 | 1 | 7 |
Mehr zur Prozedur FCMP erfahren Sie im Kurs SAS® Programmierung 3: Effiziente Techniken des Datenmanagements.