July 23, 2008 at 10:52 pm
Comments posted to this topic are about the item Reporting Services: Adding extra columns / rows to a matrix
July 24, 2008 at 6:25 am
Wow Martin, This is a great article. Totals columns, 13 week averages, % change -- all of these have been a critical part of reporting that I felt matrix tables would be well suited for if one could only add extra columns. This really pushes our reporting capabilities ahead by light years!
Mark
July 24, 2008 at 8:21 am
When do you think you'll have the SSAS article in a draft form?
July 24, 2008 at 8:26 am
Really a clever way. I've been using the addition of an extra table with similar grouping as the matrix one but then I always lost the ability to export and also on sorting capability (as is that is pretty limited in a matrix report). Thanks.
July 24, 2008 at 8:31 am
Another way to do this using more of the native function of the Matrix would be to create a grouping column, where one group value is tied to the Articles sold and another group value tied to the Target information.
Group 01 is the Articles sold.
Group 02 is the target.
The data set would look like:
grp Name Month #Sold
== ==== ===== ====
01 Franz 200801 10
01 Franz 200803 7
01 Franz 200804 12
02 Franz Target -20 (Trick:note negative Target value is need to make the "math" ok when sub totalling)
Then just set up totalling on your matrix report to provide sub totals per the group value.
Special Notes:
1) In order for the final total to come out correctly the Target data needs to go in as a negative number
2) You would have to have a special format option when displaying the "target" data to not show the negative
3) You would still need to use the techniques, described in the article, for proper sequencing and column headers and such on the final report.
Advantages:
- Your data set only has raw data in it, rather than mixing raw data and summary data.
- Much Simpler T-SQl statements
- Lets the matrix list do what it does best.
Regards All
Matteo
July 24, 2008 at 8:34 am
Hello bteague,
I hope to have that article written within the next week.
But I do not know how long it takes for the article to be published.
Martin
July 24, 2008 at 8:53 am
Great article ...
July 24, 2008 at 9:11 am
Excellent. If it looks like you'll have something ready and the "posting/publishing" is delayed, can you e-mail something in the interim. 🙂
July 24, 2008 at 9:28 am
This is a great article, and I must apologize -- this is the first time I went to rate an article, and I meant to give it 5 stars. Unfortunately my unfamiliarity with the process led to only crediting it with one star.:blush: If the editor could change that vote I would appreciate it.:(
July 24, 2008 at 10:46 am
Martin,
First of all Thank you for really good article with perfect example to show the functionality. I fully support your approch of stored functions/stored procedures to generate the result set with the calculation and just use basic functions of SSRS to display the data especially, as you wrote, while exporting report to excel.
Again it was a very good article....Keep it on.....:)
July 24, 2008 at 12:42 pm
Matteo (7/24/2008)
Another way to do this using more of the native function of the Matrix would be to create a grouping column, where one group value is tied to the Articles sold and another group value tied to the Target information.Group 01 is the Articles sold.
Group 02 is the target.
The data set would look like:
grp Name Month #Sold
== ==== ===== ====
01 Franz 200801 10
01 Franz 200803 7
01 Franz 200804 12
02 Franz Target -20 (Trick:note negative Target value is need to make the "math" ok when sub totalling)
...
Matteo
Matteo,
as a simplification of my approach your idea has the benefit of being easier to understand and maintain.
It has its limitations, however:
* When using groups you cannot decide to have a total on the first group only (in the example: on grp=01 but not on grp=02). Reporting Services will add a total column for both 01 and 02.
* You are limited to sums (Totals). My approach is more generic (and therefore more complex) and can be used for any arithmetic operation (average, multiply sales figures by price, ...).
Therefore it depends on the actual situation which way is the better way to go.
Regards
Martin
April 13, 2009 at 4:20 pm
Hello!
Great article. Really helpfull...
Do you know is there is any new feature on SQL Server 2008 that would add this functionality?
Any way, If you would be so kind to share the solution with SSAS.
Please, send me a briefing about it, if you would not write an article!
Thank you very very much!
April 18, 2009 at 3:36 pm
Hi Sergio,
I published the SSAS-article on SQLServerCentral a while ago. You should find it here: http://www.sqlservercentral.com/articles/Linked+Server/63867/
[/url]
Concerning SQL Server 2008:
The Reporting Services 2008 has a new control called "tablix" ("table" and "matrix") which should behave much better than the matrix. However, I have not tried the example of my article within SQL Server 2008 yet.
Kind regards,
Martin
July 27, 2009 at 1:26 pm
Great article !
But how I would handle if I need to calculate subtotals for the noncalulated fields? For example if you would need to drill down to Customer Type for every month? Then if I add a subtotal, calculated fields will get duplicated.
January 10, 2011 at 5:35 pm
Hi Martin,
Thanks for your input. this is really helpful. I am stuck with an issue and unable to find any information. Hope you can provide me with some suggestions.
My issues is
Data Source :SSAS
Report Type :Matrix (Drill Down)
I have a report
Year :2010
JanFebMarchAprilAvg(last2 months)
Account
Sub Acc11212(2-1)=1
Sub Acc221110
Account2
Sub Acc233110
Sub Acc14413
I am able to create the report create totals , sub totals etc, my issue is the population or calculation of the last column “Avg” last column depends on the parameter (EndMonth), it is always EndDatevalue –EndDate-1.value.
Is there a way that I can get to that column
I tried to first display the last 2 columns but could not get to that. I tried
=IIF((Format(CDate(Fields!MonthFirst.Value), "yyyyMM"))=Parameters!ToDimDateYearMonth.Value,0,IIF(IsNothing((Fields!Orders.Value)), 0,(Fields!Orders.Value)))
Is there a way to get the last column.
Any suggestions are highly appreciated.
Thanks
Devi
Viewing 15 posts - 1 through 15 (of 17 total)
You must be logged in to reply to this topic. Login to reply