• In fact, my CTE tally table is a calendar table (note: TALLY(N) AS (SELECT DATEADD(month, N, 0) FROM CTE6) ) of months starting at 1900-01-01 and ending with 9999-12-01 (total is 97,200 rows, so I probably went overboard with the CTEs that build the sequential number lists 😛 )

    You're right. 🙂 Given the approach used in the initial query, it didn't seem that the OP was familiar with calendar or tally tables. Just wanted to provide further background using the articles cited. You've given the OP a great example of why tally and calendar tables are powerful tools. 🙂