Using Expressions As Row Groups

  • I have a stepped report that has 5 row groups.  Each one uses an expression as the value to group on.  The user selects a value for 5 different parameters and based on those parameters is how the report is grouped.

    With certain combinations of parameters the report may take 2min + to run in the preview window in Visual Studio.  When I deploy the report to the SSRS server the same combinations of parameters runs in 10 seconds or less.  Out of curiosity, I created a copy of the report and removed the expressions from each of the row groups and specified a field to group on. In that case it previews just as fast as when viewed on the server.

    Anyone have any idea what may be going on here?

  • How does your SQL Server spec compared to the development PC your using? I imagine that it's probably got a lot less applications open (no email, web browser, SSMS, etc) open all competing for CPU time, probably has better CPU(s), more RAm, better disk speed. All in all, it's a lot better.

    When you run the report the expressions will need to be calculated, so when you're developing your machine has to do the work. When they're deployed on the server, the server does the work (and thus it's much faster).

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Thom A - Tuesday, January 31, 2017 6:00 AM

    How does your SQL Server spec compared to the development PC your using? I imagine that it's probably got a lot less applications open (no email, web browser, SSMS, etc) open all competing for CPU time, probably has better CPU(s), more RAm, better disk speed. All in all, it's a lot better.

    When you run the report the expressions will need to be calculated, so when you're developing your machine has to do the work. When they're deployed on the server, the server does the work (and thus it's much faster).

    Thanks for the reply.  I figured that was part of the issue, but there's not much of a difference between my development machine and our dev SSRS server.  Both have 16GB of RAM with a SSD;  the server's processor is slightly faster.

    The report hits an SSAS tabular model.  I ended up reworking the report so rather than doing the dynamic grouping in the RDL it calls a stored procedure that creates the MDX query and executes it via a linked server.  It probably ended up working out better this way anyway.  The RDL is nice and simple now, it runs fine via Visual Studio, and performance when deployed wasn't impacted.

Viewing 3 posts - 1 through 2 (of 2 total)

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