Reporting Services Features
SQL Server Reporting Services provides a middle-tier server that runs under Microsoft Internet Information Services (IIS), allowing you to build a reporting environment on top of an existing Web server infrastructure. You can build reports that draw data from the data servers that you have in place for any data source type that has a Microsoft .NET Framework-managed data provider, OLE DB provider, or ODBC data source. You can build a wide range of reports that combine the strengths of Web-based features and traditional reporting. You can create interactive, tabular, or free-form reports that retrieve data at scheduled intervals or on-demand when the user opens a report. Matrix reports can summarize data for high-level reviews, while providing supporting detail in drilldown reports. Parameterized reports can be used to filter data based on values that are provided at run time. Reports can be rendered in both desktop and Web-oriented formats. You can choose from a variety of viewing formats to render reports on demand in preferred formats for data manipulation or printing. Reporting Services is server-based and thus provides a way to centralize report storage and management, provide secure access to reports and folders, control how reports are processed and distributed, and standardize how reports are used in your business. Reporting Services can be configured for high availability. You can install report servers on single-server, distributed, and clustered configurations.
This topic describes the benefits of report definition and design, configuration and deployment, access and delivery, and programming features of Reporting Services. Developers who want to embed report functionality into Windows or Web applications might want to consider the ReportViewer controls as an alternative reporting solution. For more information about the controls, see Reporting Services and ReportViewer Controls in Visual Studio.
- Relational, multidimensional, and XML data sources. You can create reports that use relational and multidimensional data from SQL Server and Analysis Services. You can also use .NET Framework data providers to get data from Oracle and other databases. ODBC and OLE DB providers are also supported. You can use an XML data processing extension to retrieve data from any XML data source.
- Tabular, matrix, chart, and free-form report layouts. You can build tabular reports for column-based data, matrix reports for summarized data, chart reports for graphical data, and free-form reports for everything else. Free-form report layout is based on data regions, which enclose controls and fields in a container that you can move, nest, or arrange in a side-by-side layout. You can combine tabular, matrix, and charted information in a single report.
- Ad hoc reports. You can create and save reports directly to a report server using a ClickOnce application called Report Builder. Ad hoc reporting is supported through a thin client that is downloaded from the report server.
- Drill-through reports and interactivity. You can add interactive features by providing links to related reports and reports that provide supporting details. You can add scripted expressions in Microsoft Visual Basic.
- Parameterized reports. You can add parameters to refine a query or filter a dataset. Dynamic parameters get values at run time based on user selections (the selection of one parameter builds the value list for a second parameter).
- Presentation formats. Choose a presentation format when you open the report, or after you open the report. You can choose Web-oriented, page-oriented, and desktop application formats. Formats include HTML, MHTML, PDF, XML, CSV, TIFF, and Excel.
- Custom controls or report items. You can embed custom controls or report items that you create or purchase from a third-party vendor. A custom control requires a custom report processing extension.
- Navigation. You can add bookmarks and document maps to provide navigation options within a large report.
- Aggregations. You can aggregate and summarize data using controls and expressions. Aggregates include sum, average, min, max, count, and running totals.
- Graphical elements. You can embed or reference images and other resources that contain external content.
Report and Model Design
- Report Designer. Create reports in a full-featured report authoring application that is hosted within Business Intelligence Development Studio. You can use Report Designer to work with data, define a layout, preview a report, and publish a report to a test or production server. Report Designer includes query builders, an expression editor, and wizards so that you can follow step-by-step instructions to create a report. Report Designer also supports advanced reporting features for professional report designers who understand query languages and expression languages.
- Model Designer. Create models that support ad hoc reporting in Reporting Services. You can generate models automatically based on an existing schema or view, refine the model, and then publish it to a report server.
- Report Builder. Create ad hoc reports using templates and pre-organized data and save them directly to a report server. Reports that you create in Report Builder can be accessed, distributed, and managed just as you would any other report.
Deployment and Administration
- Reporting Services Configuration. Deploy and maintain an existing report server using a graphical user interface to configure service accounts, virtual directories, report server databases, encryption keys, and Web farm deployment.
- Report Manager. Configure role-based security and manage report server content by setting properties on data sources, reports, folders, resources, and report models. You can configure report execution, report history, and set limits on processing time, monitor and cancel pending or in-process reports, and create and manage data source connections and schedules independently of the reports that they are associated with.
- Integration with SQL Server Management Studio, SQL Server Configuration Manager, Surface Area Configuration tools. Report server administrators can use the tools provided in SQL Server 2005 to manage a Reporting Services installation. You can record scripts in Management Studio to replay routine maintenance tasks on other report servers.
- Command-line utilities. Command-line utilities support report server configuration, key management, and scripted operations.
- Role-based security. Use role-based security to control access to folders, reports, and resources. Security settings follow an inheritance pattern through the folder structure. You can vary security at any branch to redefine user access down to the item level.
Report Access and Delivery Features
- On-demand access over Web connections. Use a browser to navigate a folder hierarchy to find and work with reports and other items. You can reference reports from a Favorites list in a Web browser, or link from a Web portal.
- Sharepoint Web parts. Reporting Services provides two Web parts for report viewing and report server folder navigation. You can embed the Web parts in a Microsoft SharePoint Portal site to easily integrate with a report server deployment.
- My Reports and My Subscriptions. In Report Manager, you can store and manage reports and subscriptions in a personal workspace.
- Subscriptions for E-mail or File share Delivery. Automate report delivery through a standard subscription and set report presentation preferences. Users who prefer to view a report in Microsoft Excel, for example, can specify that format in a subscription. Deliver a rendered report to an e-mail inbox. Set delivery options that control whether the report is delivered as a link or attachment. Deliver a rendered report to a shared folder. Set delivery options that control whether the report is overwritten or added to an existing folder.
- Data-driven subscriptions. Automate report distribution through data-driven subscriptions, which generate a recipient list and delivery instructions at run time from an external data source. Use a query and column-mapping information to customize report output for a large number of users.
Programmabilty and Extensibility
- Report Definition Language (RDL). RDL describes all possible elements of a report using an XML grammar that is validated by an XML schema. The report definition of an individual report is based on RDL and contains instructions for rendering the design at run time. RDL is extensible. You can add support for elements or features that are not present in the existing RDL schema, and then build custom tools and report rendering extensions to handle the features you create.
- SOAP API. Use Report Server Web service methods to access a report server and Report Server Web service programmatically.
- URL access. You can access report server items through parameterized URL strings. All reports and items stored in a report server are addressable through the report server namespace.
- WMI provider. Reporting Services includes a Windows Management Instrumentation (WMI) provider that you can use to manage the Report Server Windows service.
- Extensible delivery, data processing, rendering, security, and report processing. You can create custom delivery extensions to route reports to file shares, internal archive stores, or internal applications. You can extend data processing to query, convert, or transform data from new data source types. You can create custom rendering extensions to support report presentation in application formats or Web-oriented formats that are not provided with the product. You can build or integrate a security extension that provides an alternative to the Windows authentication model.