What is SSRS

SQL Server 2005 Reporting Services is a server-based reporting platform that you can use to create and manage tabular, matrix, graphical, and free-form reports that contain data from relational and multidimensional data sources. The reports that you create can be viewed and managed over a World Wide Web-based connection. Reporting Services includes the following core components:
- A complete set of tools that you can use to create, manage, and view reports.
- A Report Server component that hosts and processes reports in a variety of formats. Output formats include HTML, PDF, TIFF, Excel, CSV, and more.
- An API that allows developers to integrate or extend data and report processing in custom applications, or create custom tools to build and manage reports.
The reports that you build can be based on relational or multidimensional data from SQL Server, Analysis Services, Oracle, or any Microsoft .NET data provider such as ODBC or OLE DB. You can create tabular, matrix, and free-form reports. You can also create ad hoc reports that use predefined models and data sources.
Visually and functionally, the reports that you build in Reporting Services surpass traditional reporting by including interactive and Web-based features. Some examples of these features include drill-down reports that enable navigation through layers of data, parameterized reports that support content filtering at run time, free-form reports that support content in vertical, nested, and side-by-side layouts, links to Web-based content or resources, and secure, centralized access to reports over remote or local Web connections.
Although Reporting Services integrates with other Microsoft technologies out-of-the-box, developers and third-party vendors can build components to support additional report output formats, delivery formats, authentication models, and data source types. The development and run-time architecture was purposely created in a modular design to support third-party extension and integration opportunities.
SSRS competes with Crystal Reports and other business intelligence tools, and is included in Express, Workgroup, Standard, and Enterprise editions of Microsoft SQL Server as an install option. Reporting Services was first released in 2004 as an add-on to SQL Server 2000. The second version was released as a part of SQL Server 2005 in November 2005. The latest version was released as part of SQL Server 2008 in August 2008.
Users can interact with the Report Server web service directly, or instead use Report Manager, a web-based application that interfaces with the Report Server web service. With Report Manager, users can view, subscribe to, and manage reports as well as manage and maintain data sources and security settings. Reports can be delivered via e-mail or placed on a file system. Security is role-based and can be assigned on an individual item, such as a report or data source, a folder of items, or site wide. Security roles and rights are inherited and can be overloaded.
In addition to using the standalone Report Server that comes with SQL Server, RDL reports can also be viewed using the ASP.NET ReportViewer web control or the ReportViewer Windows Forms control. This allows reports to be embedded directly into web pages or .NET Windows applications. The ReportViewer control processes reports in one of two ways: (a) server processing, where the report is rendered by and obtained from the Report Server; and (b) local processing, where the control renders the RDL file itself.
SQL Server Reporting Services also support ad hoc reports: the designer develops a report schema and deploys it on the reporting server, where the user can choose relevant fields/data and generate reports. Users can then download the reports locally.
Advantages Of Reporting Services (SSRS)
- 'Direct' and efficient reporting access to information residing in both Oracle and MS SQL Server databases.
- Faster (and therefore cheaper) production of reports on both relational and cube data.
- An easy to deploy centralised reporting infrastructure based on Microsoft Reporting Services.
- Faster delivery of information to the business, providing better decision support.
- Ability for the business to self-serve, edit and interact with information without having to rely on IT or IS resources.
- Simple pricing model tailored for both entry and enterprise level installations, allowing for inexpensive provision of Business Intelligence for the Masses and democratisation of information.
- No need for expensive specialist skills.
- The beauty is that the entire report and data source definition is stored as a simple XML file. This is the file the reporting engine uses to render reports. The elements and attributes required for defining a report format are fully documented. Further, you can even add your custom elements if you want to enrich available functionality. Most report writers available today never provided this functionality.
- XML based report definition allows you to directly design reports programmatically and render them. This was very difficult to achieve in currently available report writers.
- The default report designer is integrated with Visual Studio .NET so that you can create application and its reports in the same environment.
- The report designer eliminates the traditional bands very effectively. It provides three types of elements—Table, Matrix and List. Table is equivalent to the traditional report with header, footer, detail and groups. You can have multiple tables rendering different data arranged side by side!
- For each type of reporting element, you have to attach a dataset to it. Dataset is based upon data source.
- The matrix is like a pivot table. It has rows, columns and cells containing computed data. Very useful and very easy. I am sure all of you remember how much we have to struggle today to create a simple cross-tab report. Write complex queries, struggle with table formatting and so on. With this new tool, just drag the matrix on the report, specify row, column and data fields and that’s it.
- The list is free form data. It can be descriptive and cannot be represented as a structured table, somewhat like a data repeater. Whatever data elements you put in the list are repeated for each row in the base dataset. This allows you to create free form layout reports that still repeat for each data item.
- The report items can be recursive. For example, one list can contain another list. What’s more one report can be defined as a sub-report of the base report. This provides more than just drill down. The subreport also need not be hard coded. Parameters can be passed online to it based upon the area of base report clicked.
- Now, about rendering. This is the most sophisticated part. By default rendering is in HTML. But while you are viewing the report, you can simply click on the toolbar and render it in many different ways.
- The most important part is that all the reports are stored on the central SQL Server database. Usually, we have reports for each application stored and managed separately. This leads to a lot of confusion and administrative headaches.
- The reports are viewed and administered by using a Web-based implementation of the entire reporting engine. The default website provides a base structure which is folder based. Typically you will have folders created for each application or user functionality.
- How do you access reports usually? By instancing the report writer runtime. Here you don’t have to do that. Because all reports are accessible in one of the two ways:
- By specifying the URL identifying the report on the reportserver or
- By calling the Web service.
- The best part of the reporting server is that the entire functionality is exposed as a single Web service! You can create, manage, and view reports using various methods provided by the web service.
- The security is managed in a role-based manner and can be applied to folders as well as reports.
- User can manage their own reporting needs by accessing reports ad-hoc or by subscribing to the reports. Subscription based reports are automatically sent by mail to the users.
- All reports require parameters to be accepted from users. Here once parameters are defined, the UI for these parameters is automatically generated.
Export Options - SSRS Reports
Finally, you have many ways of rendering the reports:
- HTML (MHTML)
- Excel
- Acrobat
- Tiff (image)
- XML
- CSV