About the Series ...
This article is a member of the series MSSQL Server Reporting Services. The series is designed to introduce MSSQL Server Reporting Services ("Reporting Services"), with the objective of presenting an overview of its features, together with tips and techniques for real-world use. For more information on the series, please see my initial Database Journal article, A New Paradigm for Enterprise Reporting.
As I have stated since the charter article of the series, published about the time Reporting Services was first publicly released, my conviction is that Reporting Services will commoditize business intelligence, particularly in its role as a presentation component within an integrated Microsoft BI solution. Having been impressed from my first exposure to this exciting application, when it was in early beta, my certainty in its destiny grows stronger by the day, as I convert formerly dominant enterprise business intelligence systems, such as Cognos, Business Objects / Crystal, MicroStrategy, Hyperion, and others, to the Reporting Services architecture. I receive constant requests to conduct strategy sessions about these conversions with large organizations in a diverse range of industries – the interest grows daily as awareness of the solution becomes pervasive. Indeed, the five- to six-plus figures that many can shave from their annual IT budgets represent a compelling sweetener to examining this incredible toolset.
Note: To follow along with the steps we undertake within the articles of this series, the following components, samples and tools are recommended, and should be installed / accessible, according to the respective documentation that accompanies MSSQL Server 2005:
Microsoft SQL Server 2005 Reporting Services
Microsoft SQL Server 2005 Database Services
The AdventureWorks sample databases
Microsoft SQL Server 2005 Analysis Services
The AdventureWorks OLAP cube
For purposes of the practice exercises within this series, we will be working with samples that are provided with MSSQL Server 2005. The samples with which we are concerned include, predominantly, the Adventure Works DW database. This database and companion samples are not installed by default in MSSQL Server 2005. The samples can be installed during Setup, or at any time after MSSQL Server has been installed.
The topics "Running Setup to Install AdventureWorks Sample Databases and Samples" in SQL Server Setup Help or "Installing AdventureWorks Sample Databases and Samples" in the Books Online (both of which are included on the installation CD(s), and are available from www.Microsoft.com and other sources, as well), provide guidance on samples installation. Important information regarding the rights / privileges required to accomplish samples installation, as well as to access the samples once installed, is included in these references.
Note: Current Service Pack updates are assumed for the operating system, along with the applications and components listed above and the related Books Online and Samples. Images are from a Windows 2003 Server environment, but the steps performed in the articles, together with the views that result, will be quite similar within any environment that supports MSSQL Server 2005 and its component applications.
About the BlackBelt Articles ...
As we have stated in earlier BlackBelt articles, one of the greatest challenges in writing tutorial / procedural articles is creating each article to be a freestanding document that is complete unto itself. This is important, because it means that readers can complete the lesson without reference to previous articles or access to objects created elsewhere. When our objective is the coverage of a specific technique surrounding one or more components of a report, a given administrative function surrounding all reports, and other scenarios where the focus of the session is not the creation of reports, per se, challenges can arise because a report or reports often has to be in place before we can begin to cover the material with which the article concerns itself.
The BlackBelt articles represent an attempt to minimize the setup required in simply getting to a point within an article where we can actually perform hands-on practice with the component(s) under consideration. We will attempt to use existing report samples or other "prefabricated" objects that either come along as part of the installation of the applications involved, or that are readily accessible to virtually any organization that has installed the application. While we will often have to make modifications to the samples involved (we will actually create a copy, to allow the original sample to remain intact), to refine it to provide the backdrop we need to proceed with the object or procedure upon which we wish to concentrate, we will still save a great deal of time and distraction in getting to our objective. In some cases, we will still have to start from scratch with preparation, but my intention with the BlackBelt articles will be to avoid this, if at all possible.
For more information about the BlackBelt articles, see the section entitled "About the BlackBelt Articles" in BlackBelt Components: Manage Nulls in OLAP Reports.
As I have discussed in many past articles, ad hoc reporting capabilities are highly valued by information consumers. While we have, up until this article, focused on adding interactive features, such as parameterization, and ad hoc sorting and other conditional formatting features in the reports we develop within Reporting Services, one feature of Reporting Services 2005 is bound to meet with popularity among administrators, as well as among analysts and other information consumers: the Report Builder.
Report Builder provides a means for consumers to explore and find information without having to understand the underlying data source structures. Report Builder is fully integrated with SQL Server Reporting Services and delivers ad hoc reporting support quite similar to that found in Cognos Query, among other enterprise reporting offerings. Because it uses familiar Microsoft Office paradigms, the learning curve for using Report Builder is relatively minimal. In effect, end users leverage a report layout template that contains predefined data regions, in combination with the Report Model, which contains report items such as data fields, which are ideally designed into the model based upon business requirements gathering. The users drag and drop the report items onto the data regions within the template, apply filters, and so forth to refine the eventual report display to fit their needs.
Consumers can create new fields / calculations based on the data in the Report Model, and preview, print, and publish their reports. They can also export them to Microsoft Office Excel and several other formats - retaining formatting, etc., in a way I have yet to see even approximated within the export capabilities of Cognos, or other enterprise applications.
Report Builder can also be used in an "Explorer" mode, whereby consumers can interactively browse the related data within the Report Model. In this mode, Report Builder generates "clickthrough reports" automatically, allowing consumers to follow navigation paths that exist within the Report Model. As long as a relationship exists from a given "current position," consumers can continue to click through. Clicking through triggers the automatic generation of queries (information is passed about the data items the consumer is placing in the report) based upon the "context" of the location of the data that the user selects to use in the report.
Because Report Builder reports are saved as RDL, they can be opened and modified using the advanced programming capabilities in Reporting Services' Report Designer, if required, and Report Builder reports are managed, secured, and delivered using the same methods and APIs used to manage, secure, and deliver other Reporting Services reports. It is easy to control who can use or access a given report, and, if Reporting Services' role-based security is implemented correctly, we can effectively manage who can create and edit reports in Report Builder (we can create customized roles for other considerations).
In this article, we will focus largely upon the design and creation of the Report Model. We will concentrate on the use of the Report Builder from the consumer perspective in articles where we focus specifically within that context. It is in those articles that we will focus upon end user access and use, including report creation and publication using the tool. Our purpose in this session will be to get some hands-on exposure to the creation of a Report Model. As a part of our examination of the steps involved, we will:
- Create a new Report Model Project within the Business Intelligence Development Studio;
- Define a Data Source containing the information Report Builderneeds to connect to a database;
- Create a Data Source View containing schema information upon which we will base the Report Model;
- Define the Report Model within the Report Model Project;
- Publish the Report Modelto make it available to select information consumers;
- Discuss, at appropriate junctures, the results obtained within the development techniques that we exploit throughout our practice session.