• I'd still go for a DateDim / Calendar table. Firstly, it means you only have to run your calculations once, and the table is also unaffected by changes to datefirst, for example

    I'm a DBA.
    I'm not paid to solve problems. I'm paid to prevent them.