SQL Server 2005 Reporting Services (SSRS)
By Alex Payne and Brian Welcker
SQL Server 2005 Reporting Services is a key component of SQL Server 2005. Reporting Services was first released with SQL Server 2000 and provided customers with an enterprise-capable reporting platform with a comprehensive environment for authoring, managing, and delivering reports to the entire organization. Reporting Services in SQL Server 2005 provides additional enterprise reporting capabilities and addresses a new audience—business users who want to interact with data in an ad hoc fashion as well as create their own reports from scratch and to share them with others. In Reporting Services, the requirements of different types of users who want to interact with reports can, for the first time, be addressed with one reporting solution. This document describes the new capabilities in SQL Server 2005 Reporting Services.
On This Page
Core Product Improvements
Rich Developer Experience
Empowering End Users
There are four major themes for Microsoft SQL Server 2005 Reporting Services (SSRS). Specific features are discussed in detail in the following sections.
Core Product Improvements
Based on feedback from customers of SQL Server 2000 Reporting Services, SQL Server 2005 has several improvements in the areas of report design, processing, and interactivity. There are also improvements to performance and scalability.
SQL Server 2005 Reporting Services provides enhanced integration with other components within SQL Server 2005 including SQL Server Integration Services (SSIS), SQL Server Analysis Services (SSAS), and SQL Server Management Studio. Reporting Services also has tighter integration with Microsoft SharePoint Products and Technologies, enabling reports to easily participate in corporate portal scenarios.
Rich Developer Experience
By partnering with Microsoft Visual Studio, Reporting Services provides unparalleled reporting integration into the Visual Studio development environment. In addition, freely redistributable Microsoft Windows and ASP.NET controls make it easy to embed reporting in both server-based and client-based applications.
Empowering End Users
SQL Server 2005 Reporting Services includes Report Builder, a new ad hoc reporting tool that enables business users to create their own reports and explore corporate data. Report Builder incorporates a user-friendly business query model that enables users to build reports without deep technical understanding of the underlying data sources.
Core Product Improvements
Many of the enhancements to Reporting Services in SQL Server 2005 are enhancements to the SQL Server 2000 feature set based on customer feedback.
Direct Client Printing
Printing in the SQL Server 2000 release of Reporting Services required that the user export a report to a printable format (PDF, TIFF, or Excel) before sending it to the printer. In SQL Server 2005 Reporting Services, users can directly route print jobs without needing to export first.
To print, a user clicks on the new print button on the HTML Viewer toolbar. The first time the print function is accessed, a small ActiveX control is downloaded to the user’s workstation. The user is then presented with the standard Windows Print dialog box (Figure 1).
The user can select a printer and the page range to print. If they want, they can change the paper orientation and margins. If desired, they can also preview the page output to see how their printout will look as shown in Figure 2.
When the user is satisfied with the output, the print job is rendered on the Report Server and routed through the client to the selected printer.
End User Sort
In SQL Server 2005 Reporting Services, the report author can add the ability for the viewer of a published report to resort the data within their report.
The data resorting happens without needing to re-execute the database queries, so it will work on snapshot and cached reports. The feature also includes support for multicolumn sorting and sorting within nested or grouped data.
In SQL Server 2000 Reporting Services, a report parameter could only be defined to allow the user to enter a single value. For example, if you had a parameter named “color”; it could only be “red” or “blue”. In SQL Server 2005 Reporting Services, a report author can specify any parameter is multivalued. For example, in Figure 3, multiple values are selected for a parameter.
After the user selects a set of values, the report processing engine constructs the correct SQL or MDX syntax. The author can also specify a set of default values for the parameter. Developers can programmatically pass multiple parameter sets via URL Access or the Web Services API.
Custom Report Items
SQL Server 2005 Reporting Services enables Independent Software Vendors (ISVs) and developers to extend report processing through the creation of custom report items. Custom report items are server controls that can be embedded in reports to provide additional functionality beyond the built-in Reporting Services controls (textbox, line, image, etc.). For example, a developer could add gauges, barcodes, maps, etc. In the Report Designer, these controls are added to the Visual Studio Toolbox and have their own set of property pages and dialog boxes. An example of a customer report item, “GaugeContainer,” can be seen in Figure 4.
Custom Report Items support more than simple property settings—they can be bound to data sets just like the native Reporting Services controls and can leverage the expression evaluation, grouping, sorting, and filtering features of the report processing engine.
Report Designer Improvements
While the new Report Builder client (covered later in this document) enables business users to easily build reports, the Visual Studio-based Report Designer will continue to be the design tool of choice for Information Technology professionals and application developers. SQL Server 2005 no longer requires Visual Studio (VS) to be preinstalled on a workstation to use Report Designer. If Visual Studio is not already installed, a copy of the VS shell will be installed to host the Report Designer and other SQL Server development tools. If the author does have a version of Visual Studio installed, similar to the SQL Server 2000 experience, Report Designer will be installed as an add-in.
There have been several enhancements to the Report Designer, including an improved expression editor. The enhanced expression editor is found in Figure 5.
The expression editor now includes a list of functions available to report designers as well as IntelliSense features such as inline parameter information, statement completion, and real-time syntax checking.
Integration with existing products is a key part of Reporting Services. SQL Server 2005 Reporting Services provides enhanced integration with other components within SQL Server as well as Microsoft SharePoint Products and Technologies.
Analysis Services Query Designer
While it was possible to integrate data from SQL Server Analysis Services in the SQL Server 2000 version of Reporting Services, there was no facility for helping users build MDX queries. In SQL Server 2005, the Visual Studio Report Designer includes an integrated query designer for SQL Server 2005 Analysis Services (SSAS) that enables the user to construct queries by dragging and dropping server metadata and previewing the results. The new MDX query designer is shown in Figure 6.
The Analysis Services query builder also includes the ability to filter the results and easy parameterization of MDX queries.
SQL Server Management Studio Integration
While it is still possible to manage SSRS through Report Manager, SQL Server 2005 also includes the ability to configure and manage your Reporting Services deployment through the Windows-based SQL Server Management Studio. An alternative to the Web-based Report Manager, SQL Server Management Studio provides a single point of management for all SQL Server components, including the relational database, Analysis Services, Integration Services, and Reporting Services. SQL Server Management Studio is shown in Figure 7.
In addition to integration with the Object Explorer and property dialogs, Management Studio has full support for generating Report Server scripts that can be executed through the Report Server script command-line tool.
SharePoint Reporting Web Parts
SQL Server 2005 Reporting Services includes a set of Web Parts that make it easy to integrate reports into your SharePoint Portal Server 2003 or Windows SharePoint Services environment. Both the Report Viewer and the Report Explorer Web Parts are shown in Figure 8.
The Report Explorer Web Part provides browsing of the Report Server folder hierarchy. A user can view a report and create or edit a subscription to a report. The Report Viewer Web Part is used to view and navigate multipage reports as well as export to supported formats. Using Web Part connections, the Viewer can be connected to the Explorer to enable display of the selected report within the portal page.
Rich Developer Experience
Visual Studio 2005 (Professional Editions and above) now include Reporting Services functionality to enable developers to integrate rich reports into their applications, both with and without a Report Server.
Visual Studio Integration
In addition to creating reports in a Report Server project, report design is now completely integrated with Visual Studio language projects. You can embed reports directly in any Windows Forms or ASP.NET Web application. The data access options of embedded reports are a natural extension of the Visual Studio data facilities. Not only can you use traditional databases as a source of data for your reports, you can use object collections as well. Report Designer, as shown in a language project, is highlighted in Figure 9.
At design time, the report editor provides access to the data sources already defined in your application. Once reports are defined, your application uses the Report Viewer controls (described in the next section) to display the results.
Report Viewer Controls
Visual Studio 2005 contains a set of freely redistributable Report Viewer controls that make it easy to embed Reporting Services functionality into custom applications. There are two versions of the Report Viewer, one for rich Windows client applications and one for ASP.NET applications. The Report Viewer control is shown in Figure 10.
The controls support both local processing and remote processing modes. In local processing mode, your application provides the report definition and datasets and triggers report processing. In remote processing mode, data retrieval and report processing happen on the Report Server and the control is used for display and report navigation. This model allows you to build rich applications that can be scaled from desktop to the enterprise.
Empowering End Users
SQL Server 2005 Reporting Services includes Report Builder, a new ad hoc reporting tool that enables business users to create their own reports and explore corporate data. Report Builder incorporates a user-friendly business query model that enables users to build reports even if users do not possess deep technical understanding of the underlying data sources.
Report Builder supports building reports on both SQL Server relational databases and SQL Server Analysis Services multidimensional databases. It is not designed to be a full-featured data analysis tool; rather it is a way for Information Technology staff members to enable self-service query and reporting scenarios.
Report Builder Client
The Report Builder client is a ClickOnce WinForms application launched from the Report Server. The Report Builder user interface is built on top of familiar Microsoft Office paradigms such as Excel and PowerPoint. Report Builder is shown in Figure 11.
In contrast to the free-form nature of the Visual Studio Report Designer, Report Builder reports are built via predefined report templates (table, matrix, or chart). Users can create new reports or modify existing reports. Once finished, reports can be published to the Report Server if the user has the required permissions. Report Builder reports can also be loaded into the Visual Studio Report Designer if complex modifications are required.
Report Builder Model Designer
When an end user builds a report with Report Builder, they use a business model representation of the underlying database schema. Providing reporting access to this business model precludes the end user from having to understand, for example, connection strings or how to write SQL or MDX. While models that provide access to SQL Server Analysis Services are automatically generated on the Report Server, the Report Builder Model Designer can be used to generate or modify the models that are built on top of SQL Server relational databases. These model building projects are a new type of project within Visual Studio-based development shell. The Report Model designer is shown in Figure 12.
The Model Designer gives the Information Technology professional the ability to modify the elements of the generated models. Once the model is ready, it is published to a Report Server to make it accessible to the Report Builder client.
SQL Server 2000 Reporting Services delivered on the promise of cost-effective, enterprise reporting for the entire organization. SQL Server 2005 Reporting Services (SSRS) takes this promise to the next level. Core product improvements are delivered through direct client printing, end user sort, multivalued parameters, custom report items, and Report Designer enhancements. SSRS also enhances the reporting experience by tight integration with SQL Server 2005 Analysis Services, SQL Server Management Studio, and SharePoint Services. The developer environment improves through a better experience within Visual Studio for integrated report development. It is also enhanced by report controls which allow for simpler embedding of reporting into application development. Finally, the end user is empowered through the addition of Report Builder. Business users are able to build or modify reports outside of Visual Studio using a drag-and-drop paradigm, using a business translation of the underlying data base schema. All of these attributes allow for a better experience and a more complete reporting solution for the entire enterprise.