HV-Lima Peru

Offshore your .NET/SQL Development to Latin America! Languages: en-de-es

How to forcibly split long running Matrix rows

Problem: if the first Matrix column contains thousands of rows it doesn’t help to set any InteractiveHeight parameter in BIDS.
This problem exists since SSRS 2000 and persists up to the newest SQL Server 2005 SP2 (Feb. 2007).
In IE-clients (IE 6 and IE 7) this leads to a long waiting time for the first page and almost unresponsive behavior because of too much UI-redrawing.
For Winform Apps that use the freely redistributable MS ReportViewer-Control (this includes the newest SP1 as of March 2007) this leads to a total SOAP time-out and hanging IIS (100% and easily 300 MB of occupied memory on the Reporting Server).

So: In the following picture a matrix is embedded into a list.
The first column (u ) will be forced to break with the hbu-matrix-brute-pagebreak pattern.

Set grouping to a user defined function code.setRowAggregate()

Insert the following function in user code:
This will insert a hard-break on any 100 input rows.

Function setRowAggregate() As Integer
    Static Dim a As Integer = 0
    Static Dim b As Integer = 1
    If a < 100 Then
        a += 1
    Else
        a = 1
        b += 1
    End If
    Return b
End Function

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: