• Not like this...

    SELECT ProblemType, IssueMonth, IssueYear, SUM(IssueCount) AS MonthlyIssueCount, CInt(IssueMonthNumber) AS IssueMonthNumber

    FROM qryIssueGroupedByYearAndMonth

    GROUP BY ProblemType, IssueMonth, IssueYear, IssueMonthNumber

    like this:

    SELECT ProblemType, IssueMonth, IssueYear, IssueCount, CInt(IssueMonthNumber) AS IssueMonthNumber

    FROM Calendar c LEFT JOIN Problem p ON c.CalendarDate = p.Problem

    All the grouping can will be done in SSRS inside the Matrix. The only thing you're really doing in the query is outer joining the Calendar table to your Issues table, and showing the columns you want to appear in your matrix. then the matrix will do the counting for you. (It requires some kind of aggregate function in the intersection of rows and columns anyway, so might as well put COUNT([somecolumn]) there.

    And if you want to filter *every* time by something, you'd add a parameter to your stored procedure, and it would create the Report parameter for you.