bens4lsu
asked on
Reporting Services -- Aggregate Row and Col groups simultaneously.
It seems like this should be easy.
I have a report that looks like this:
Col1 Col2 Col3
RowGroup1 RowSubGroup A 2 3 1
RowSubGroup B 4 2 1
RowSubGroup C 1 2 3
Total 7 7 5
RowGroup2 RowSubGroup A 1 2 3
RowSubGroup B 4 7 1
RowSubGroup C 2 1 0
Total 7 10 4
I'm using the matrix control as the number of rows and columns can vary. the numbers in th middle are actually summations of the raw data being returned by the query.
I want to turn the summations into percentages (of the subtotal on the row group). I can't find a scope that works to get me the total that you see at the bottom of RowGroup1 or RowGroup2.
if I use sum(Field,"RowGroup") (naming the highest level row group, i get the sum including all of the columns. If I use the column group name as the scope, I get the whole page of rows -- not just the specific row group that I'm looking for.
There has to be an easy way to do this, but I haven't figured it out yet.
I have a report that looks like this:
Col1 Col2 Col3
RowGroup1 RowSubGroup A 2 3 1
RowSubGroup B 4 2 1
RowSubGroup C 1 2 3
Total 7 7 5
RowGroup2 RowSubGroup A 1 2 3
RowSubGroup B 4 7 1
RowSubGroup C 2 1 0
Total 7 10 4
I'm using the matrix control as the number of rows and columns can vary. the numbers in th middle are actually summations of the raw data being returned by the query.
I want to turn the summations into percentages (of the subtotal on the row group). I can't find a scope that works to get me the total that you see at the bottom of RowGroup1 or RowGroup2.
if I use sum(Field,"RowGroup") (naming the highest level row group, i get the sum including all of the columns. If I use the column group name as the scope, I get the whole page of rows -- not just the specific row group that I'm looking for.
There has to be an easy way to do this, but I haven't figured it out yet.
ASKER
Hadush,
That works in your example because your columns are static. I'm building the columns dynamically based on the result set. So in my example, the data would come back from the server like this...
RG1, RSBA, Col2
RG1, RSBA, Col3
RG2, RSBC, Col2
etc.
I don't have a single Group that is on top. I have two Row Groups and one Column Group. If I sum over the row group, I get the percentages across all columns, and if I sum over the column group, I get all of the row rather than just that short little group that I want. If there were a way to sum over both....
That works in your example because your columns are static. I'm building the columns dynamically based on the result set. So in my example, the data would come back from the server like this...
RG1, RSBA, Col2
RG1, RSBA, Col3
RG2, RSBC, Col2
etc.
I don't have a single Group that is on top. I have two Row Groups and one Column Group. If I sum over the row group, I get the percentages across all columns, and if I sum over the column group, I get all of the row rather than just that short little group that I want. If there were a way to sum over both....
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You may have to do it in the query like I did. I found MS site, http://msdn.microsoft.com/en-us/library/ms159673.aspx, that expliciltly says
Note:
You cannot aggregate values across both a row group and a column group in a single expression. Writing an expression that includes an aggregate with a row group scope and another aggregate with a column group scope is not supported.
I did not take their word and tried to "trick it" but I get "Aggregate functions cannot be nested inside other aggregate functions" from RS for my efforts.
Note:
You cannot aggregate values across both a row group and a column group in a single expression. Writing an expression that includes an aggregate with a row group scope and another aggregate with a column group scope is not supported.
I did not take their word and tried to "trick it" but I get "Aggregate functions cannot be nested inside other aggregate functions" from RS for my efforts.
bens4lsu,
Just curious, you only gave it a B, what was wrong with it?
Just curious, you only gave it a B, what was wrong with it?
=Sum(Fields!Col1.Value)/Su
Remove the .xls extension and you can view the sample rdl file
Let me know if this helps
Copy-of-PercentagePerSubtatol.rd.xls