SQL Report with multiple matrix

  • I have a matrix reporting data by week by location. The matrix works great for this. The challenge, however, is I want to take my total from the matrix and provide a 3 month average - easy enough to do with another matrix. Then i need to take the last weeks data (matrix 1) compare it to the 3 month average (matrix 2) and calculate a variance. Then show the max value from the 3 months and calculate a variance against the last weeks data.

    for example

    location A location B location C

    Week 1 100 300 350

    Week 2 550 350 700

    Week 3 250 550 450

    Total 900 1200 1500

    Weekly Avg 300 400 500

    Last Week Var -50 150 200

    Max 550 550 700

    Variance -54% 0% -35%

    Any suggestions on how to accomplish the bottom calculations when you can't use fields from various matrices in a report?

    Thanks in advance.

  • Name the cells so they are easy to remember e.g. MonthTotal and then refer to those cells directly in an expression:

    =ReportItems!MonthTotal.value

  • I have tried that but a matrix doesn't allow it. I get the following error message - "Report item expressions can only refer to to other report items within the same grouping scope or a containing grouping scope."

  • You can use multiple groups in the same tablix that aren't nested within each other. That way your 3 month average doesn't need to be in a second tablix.

    You can also add totals or variances in cells that are outside any grouping at all yet still within the same tablix.

  • Excuse my ignorance, but does this work in SQL 2005? If so how do i add another line in my matrix below the total line to to the calcualtions.

    Thanks in advance.

  • My apologies I didn't see that it was for BIDS 2005. I've logged on to one of my old SQL Server 2005 machines and luckily it had BIDS 2005 installed on it so I could try.

    Wow I forget how painfully bad that version was. The jump to 2008 is light years ahead. I can't work out how to do what I was suggesting in 2005, I'm sorry.

    You may have to do something in the SQL to make it work, like make use of pivot/unpivot and cube/rollup.

  • Thanks for checking. I ended up creating a summary table in sql and will populate summary data there for calculations and then report.

    I appreciate the time and effort.

  • I think that you've done it the best way possible with 2005.

  • dpelan (1/6/2013)


    I have a matrix reporting data by week by location. The matrix works great for this. The challenge, however, is I want to take my total from the matrix and provide a 3 month average - easy enough to do with another matrix. Then i need to take the last weeks data (matrix 1) compare it to the 3 month average (matrix 2) and calculate a variance. Then show the max value from the 3 months and calculate a variance against the last weeks data.

    for example

    location A location B location C

    Week 1 100 300 350

    Week 2 550 350 700

    Week 3 250 550 450

    Total 900 1200 1500

    Weekly Avg 300 400 500

    Last Week Var -50 150 200

    Max 550 550 700

    Variance -54% 0% -35%

    Any suggestions on how to accomplish the bottom calculations when you can't use fields from various matrices in a report?

    Thanks in advance.

    You can have a look at:

    https://technet.microsoft.com/en-us/library/ms157334%28v=sql.100%29.aspx

    https://www.simple-talk.com/sql/reporting-services/advanced-matrix-reporting-techniques/

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply