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;
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
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.
Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.
Explore Now →