Create short lists using the LookupSet function

Sometimes you have a short list of values that you really don’t want to show on individual rows; you’d rather just concatenate them into a list, separated by commas, and put them all in a single row. For example, suppose instead of listing the states in each U.S. Census region each on their own row,…


TechEd session: Tips and tricks for building rich reports

Here’s a recording of my TechEd 2012 North America session last week in Orlando: Tips and Tricks For Building Rich Reports The entire session is based on Report Builder 3.0. All content is relevant to both SQL 2008 R2 and SQL 2012. Topics covered: Use a tablix to organize data how you want it Use…


Add Excel-like "color scale" conditional formatting to your reports

I’ve been meaning to do this for a long time, and it looks like David Lean beat me to it earlier this year by posting an incredibly thorough four-part discussion of how to do conditional formatting in Reporting Services. I’ve played with his sample code a bit and put together a variation on his theme…


How to build a Clickthrough link in Report Builder 2.0

As I mentioned in a previous post, due to resource constraints in this release, Report Builder 2.0 is not a strict superset of RB 2005/1.0. One of the features missing from RB 2.0 is automatic creation of Clickthrough links. You can still get them, of course, by creating the basics of your report in RB 1.0,…


Filtering on totals in Report Builder

Since releasing Report Builder almost two years ago, we’ve found that many users run into difficulty at some point with filtering on totals. A classic example of this is, “show me a list of customers with more than $5000 in Accessory sales.” “Accessory sales” is a typical slice-and-dice filter, because it just eliminates detail or…


Getting grouping right in Report Builder

One thing Report Builder users need to be aware of when building a report is the difference between an entity group, which displays exactly one instance for each row in the underlying table, and a value group, which displays one instance for each distinct value of a particular field. The type of group they get…


How to get RB to load a report created in VS Report Designer

Loading an arbitrary Report Designer report in Report Builder is not supported in SQL Server 2005. However, if you are trying to make it work for some reason, here are a few tips: – Don’t use page headers or footers – Don’t use rectangles or lists – Only use a single data region (table, matrix, or…


Using RDL expressions in Report Builder

While not a documented feature, you actually can enter an arbitrary RDL expression into a textbox in a Report Builder report. For example, you could add a textbox that shows the date the report was run by setting the value of the textbox to the following:    =String.Format(“Date: {0:MM/dd/yyyy}”, DateTime.Today) Another potential use of this undocumented feature is to display the values selected by the…


Adding parameters (prompts) to a Report Builder report

You easily can add basic parameters to a Report Builder report using the Filter dialog. For example, to let the user choose which year to view sales data for, add an Order Year filter condition to your report filter, then, instead of specifying a value, click the “Order Year” label on the left side of the…


The philosophy behind Report Builder data navigation

The top part of the Explorer pane in Report Builder is probably unlike anything most people have ever used. It starts out as a flat list of entities — big “things” in your database like Customers, Orders, Products, etc. — but then rearranges itself once you’ve added the first field to your report into an auto-collapsing, recursive tree….