How to paginate SSRS Report to solve rendering performance issue on Internet Explorer

Problem

I've encountered slow performance issue on SSRS report rendering on Internet Explorer. It took 15 minutes to render a report on IE.

Solution
  1. Right-click on the first row of Row Groups and select Add Group | Parent Group...
  2. Click fx button when prompted
  3. When prompted Set expression for: GroupExpression, type the following formula: =Ceiling(RowNumber(Nothing)/100) then click OK | OK.

    Ensure Page Breaks | Between each instance of a group is checked

    Remember to delete the Sorting fx that was automatically populated otherwise you may encounter error when saving the changes:
  4. Right-click on the newly created group (Group1) and select Delete Columns | Delete group only then click OK.
Explanation

You can adjust the number of row per page (i.e. changing 100 on the formula to any number) to suit your needs however this pagination will affect interactive and non-interactive rendering.
Also if you need to paginate the subsequent row (second, third, etc.) of the Row Groups, ensure that the formula is adjusted to =Ceiling(RowNumber("NameOfParentRowGroup")/100)

If you need to keep non-interactive rendering (i.e. Export | Excel) in one page (worksheet), before performing the 4 steps above, make a copy of the Tablix and change original Tablix Properties for interative rendering (i.e. on browser) to Visibility | Show or hide based on an expression | fx | = Not(Globals!RenderFormat.IsInteractive) and and the copied Tablix Properties for non-interactive rendering (i.e. Export | Excel) to Visibility | Show or hide based on an expression | fx | = Globals!RenderFormat.IsInteractive

After implementing the pagination, report rendering time on Internet Explorer improved from 15 minutes to 5 seconds. Happy day!

Comments

Popular posts from this blog

How to search Active Directory group members using Windows 10 built-in tools

How to check and reload PAC (Proxy Auto Configuration) file on Windows