Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Analysis Server and Reporting Services (2005)
 Double grouping + export in SSRS

Author  Topic 

teleute00
Starting Member

2 Posts

Posted - 2012-05-02 : 23:42:23
I'm trying to create a report that allows the user to select not only a field to group by, but a second level grouping as well. To demonstrate - the records being queried are people's time sheet entries. So each record has fields such as staff (the staff member who worked the time), company (the company the time was worked for), project (the project worked on), activity (type of work done), and of course the hours worked. (There's a few more, but that's enough for this example.

Let's say some records are:

John Smith, Company ABC, Project X, Activity X, 10
John Smith, Company ABC, Project X, Activity Y, 5
John Smith, Company ABC, Project Y, Activity X, 8
John Smith, Company FGH, Project Y, Activity Y, 6
Jane Jones, Company ABC, Project X, Activity X, 4
Jane Jones, Company ABC, Project Y, Activity Y, 8
Jane Jones, Company FGH, Project Y, Activity X, 7
Jane Jones, Company FGH, Project X, Activity Y, 6

and so on...

The report user can select to group by Staff, and secondarily by Project, and they'd get this:

John Smith
Project X 15
Project Y 14

Jane Jones
Project X 10
Project Y 14

Or they can choose by Project then by Activity, or whatever combination of fields they like. I've done this by nesting a table within another table, and putting grouping on both, and it works beautilfully.

EXCEPT...it doesn't export to Excel. We're on 2005, and from what I can see it still doesn't work in 2008. Not sure about after that. Regardless, there's no way we're upgrading by the time I need to publish this report.

How else can I achieve this? I'm trying to come up with some way to do the first level of grouping in the query, but even using dynamic SQL I can't come up with how to make it work for any field passed in by the parameter, since it needs to be able to return the other fields for the first level grouping.

I think a subreport would theoretically work, except that this whole thing is a subreport and I don't know if you can layer them. Plus I suspect the overhead would be awful...

Thank you!

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2012-05-03 : 16:07:50
if company,project,activity is a hierarchy by itself or if you can organise them into one, you can make use of parent group property for this

http://www.mssqltips.com/sqlservertip/1939/working-with-a-parent-child-hierarchy-in-sql-server-reporting-services-ssrs/
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page

teleute00
Starting Member

2 Posts

Posted - 2012-05-04 : 12:10:09
It's not a hierarchy, though - the grouping are completely dynamic, based on what the user selects.

I did get it figured out, though - turns out the nested groups aren't necessary. I had to go back to my earlier strategy of putting two groups on the same table, which once I fiddled with it a lot more, ended up being fine.

Thanks!
Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2012-05-05 : 01:42:36
quote:
Originally posted by teleute00

It's not a hierarchy, though - the grouping are completely dynamic, based on what the user selects.

I did get it figured out, though - turns out the nested groups aren't necessary. I had to go back to my earlier strategy of putting two groups on the same table, which once I fiddled with it a lot more, ended up being fine.

Thanks!


ok in that case its just a matter of putting two groups and adding an expression for grouping based on parameter selection

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page
   

- Advertisement -