- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I often have problems with converting the result of the weekday function which gives you sunday as first day of week. However in our part of the world we use monday as first day of week.
Here is a function that kan do just that - convert:
proc fcmp outlib = work.funktion.dk_ugedag;
function dk_ugedag(_sasdato);
return(weekday(_sasdato)-1+(weekday(_sasdato)=1)*7);
endsub;
run;
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hej Jesper
Tak for dit indlæg og for at dele Tips & Tricks - Godt eksempel på anvendelse af PROC FCMP du der giver.
En anden mulighed er at benytte NLS funktionerne (National Language Support) til at både at returne korrekt ugedag (nr 3) med dansk tekst.
Obs | dato | dk_ugedag |
---|---|---|
1 | 21369 | onsdag |
Test selv med denne kode
options locale=Danish_Denmark;
data ugedag;
dato=today();
dk_ugedag = NLDATE(dato,'%A');
run;
Link til NLDATE dokumentationen, hvor der også er diverse eksempler
http://go.documentation.sas.com/?cdcId=pgmmvacdc&cdcVersion=9.4&docsetId=nlsref&docsetTarget=n14463n...
Bemærk f.eks. forskellen mellem %u og %w
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Ja - hvorfor skulle jeg være den eneste med det problem. SAS har selvfølgelig allerede løst det. Og %u giver endda lige præcis det jeg har brug for.
Takker.