SSRS Recordset Traversal/Enumeration Issue with Indicator in Column & Row Groups

A little while ago, I stumbled across a very interesting bug in Reporting Services 2012. I had to develop a report with row and column groups, but the column groups could vary depending on the amount of weeks within a month.

My dataset looked similar to the following:

Month/Year Week of Month KPI Value
Jan 2013 Week 1 -1
Jan 2013 Week 2 -1
Jan 2013 Week 3 1
Jan 2013 Week 4 1
Jan 2013 Week 5 1
Feb 2013 Week 1 1
Feb 2013 Week 2 1
Feb 2013 Week 3 -1

I created a tablix with a row group for the month/year value, and a column group for the week of the month. The idea was to embed an indicator within the column group, showing a red/green traffic light based on the value of the KPI.

As you can see from the first image below, my initial test (with just the data and no indicator) displayed the expected results…but things got really interesting when I added the indicator to the column group (second image below). All of a sudden, week 4 and 5 of January were repeating in the second row!! What’s even more “interesting” is that the indicator itself is not repeating (no traffic light), but only the text value that was also part of the column group.

The processing of the row/column groups are internal to the Reporting Services engine, which makes it really difficult to figure out why this would happen. The only plausible reason I can think of is that the addition of the indicator is causing the dataset to be traversed again…and in the process it seems to get confused when the column group does not have the same amount of members.

As a work-around, the use of custom images and conditional formatting worked as expected. Regardless of that, I still think it is a bug that should be fixed in the next release of SSRS (or service pack).

I have submitted a connect item here…please vote if you work with SSRS frequently and find this bug as annoying as I do.

SSRS Recordset Traversal/Enumeration Issue with Indicator in Column & Row Groups