You are on page 1of 133

Reporting Services

Tutorial: How to Locate and Start Reporting Services Tools :-

This tutorial introduces the tools used to configure a report server, manage report server content and operations, and create and publish reports and report models. The purpose of this tutorial is to help new users understand how to find and open each tool. If you are already familiar with the tools, you can move on to other tutorials that can help you learn important skills for using Reporting Services. For more information about other tutorials, see How Do I Find Tutorials (Reporting Services). Requirements You must have installed all of the Reporting Services components. For more information about which setup options to select in order to get specific components, see Considerations for Installing Reporting Services. Reporting Services Configuration Tool Use the Reporting Services Configuration Tool tool to specify the service account, create or upgrade the report server database, modify the connection properties, specify URLs, manage encryption keys, and configure the report server for unattended report processing and e-mail report delivery. To start the Reporting Services Configuration tool 1. Click Start, point to Programs, point to Microsoft SQL Server 2008, point to Configuration Tools, and click Reporting Services Configuration. The Report Server Installation Instance Selection dialog box appears so that you can select the report server instance you want to configure. 2. In Server Name, specify the name of the computer on which the report server instance is installed. The name of the local computer is specified by default, but you can also type the name of a remote SQL Server instance. If you specify a remote computer, click Find to establish a connection. The report server must be configured for remote administration in advance. For more information, see How to: Configure a Report Server for Remote Administration. 3. In Instance Name, choose the SQL Server Reporting Services instance that you want to configure. Only SQL Server 2008 report server instances appear in the list. You cannot configure earlier versions of Reporting Services. 4. Click Connect.

5.

To verify that you launched the tool, compare your results to the following image:

Report Manager Use Report Manager to set permissions, manage subscriptions and schedules, and work with reports and models. You can also use Report Manager to view reports. Before you can open Report Manager, you must have sufficient permissions (initially, only members of the local Administrators group have permissions that provide access to Report Manager features). Report Manager provides different pages and options depending on the role assignments of the current user. Users who have no permissions will get an empty page. Users with permissions to view reports will get links that they can click to open the reports. To learn more about permissions, see Tutorial: Setting Permissions in Reporting Services. To start Report Manager 1. 2. Open Microsoft Internet Explorer 6.0 or later. In the address bar of the Web browser, type the Report Manager URL. By default, the URL is http://<serverName>/reports. You can use the Reporting Services Configuration tool to confirm the server name and URL. For more information about URLs used in Reporting Services, see Configuring Report Server URLs. 3. Report Manager opens in the browser window. The startup page is the Home folder. Depending on permissions, you might see additional folders, hyperlinks to reports, and resource files within the startup page. You might also see additional buttons and commands on the toolbar. 4. To verify that you launched the tool, compare your results to the following image:

Management Studio Report server administrators can use Management Studio to manage a report server alongside other SQL Server component servers. For more information, see Introducing SQL Server Management Studio. To start SQL Server Management Studio 1. Point to Start, point to All Programs, point to Microsoft SQL Server 2008, and then click SQL Server Management Studio. The Connect to Server dialog box appears. It should look similar to the following diagram:

2.

If the Connect to Server dialog box does not appear, in Object Explorer, click Connect and then select Reporting Services.

3. 4.

In the Server type list, select Reporting Services. If Reporting Services is not on the list, it is not installed. In the Server name list, select a report server instance. Local instances appear in the list. You can also type the name of a remote SQL Server instance.

5.

Click Connect. You can expand the root node to set server properties, modify role definitions, or turn off report server features. Business Intelligence Development Studio with Report Designer and Model Designer

Report Designer and Model Designer are two design tools that are available within Business Intelligence Development Studio. The design surfaces in the tools include tabbed windows, wizards, and menus used to access report and model authoring features. The design tools become available when you choose a Report Server Project, a Report Server Wizard, or a Report Model Project template. To learn more, see Introducing Business Intelligence Development Studio. Note: In SQL Server 2008 Reporting Services new and revised authoring tools are used to access new features. For more information, see What's New in Report Authoring.

To start Report Designer 1. Click Start, point to All Programs, point to Microsoft SQL Server 2008, and then click Business Intelligence Development Studio. 2. 3. 4. On the File menu, point to New, and then click Project. In the Project Types list, click Business Intelligence Projects. In the Templates list, click Report Server Project. The following diagram shows how the project templates appear in the dialog box:

5. 6.

Type a name and location for the project, or click Browse and select a location. Click OK. Business Intelligence Development Studio opens with the Visual Studio start page. Solution Explorer provides categories for creating reports and data sources. You can use these categories to create new reports and data sources. Tabbed windows appear when you create a report definition. The tabbed windows are Data, Layout, and Preview. To get started on your first report, see Tutorial: Creating a Basic Table Report. To learn more about query designers you can use within Report Designer, see Query Design Tools in Reporting Services.

To start Model Designer 1. Click Start, point to All Programs, point to Microsoft SQL Server 2008, and then click Business Intelligence Development Studio. 2. 3. 4. 5. 6. On the File menu, point to New, and then click Project. In the Project Types list, click Business Intelligence Projects. In the Templates list, click Report Model Project. Type a name and location for the project, or click Browse and select a location. Click OK. Business Intelligence Development Studio opens with the Visual Studio start page. Solution Explorer provides categories for creating models, data sources, and data views. The design surface changes when you define a data source connection. To get started on your first model, see Tutorial: Creating a Report Model. 7. To verify that you launched the tool, compare your results to the following image. The image shows Model Designer with an open model:

Report Builder Use Report Builder to create ad hoc reports that use published models as a data source. You can save reports from Report Builder to a report server. To practice these skills, see Report Builder Tutorials. To start Report Builder 1. In your Web browser, type the Report Manager URL in the address bar. By default, the URL is http://<servername>/reports. 2. Click Report Builder. The Report Builder button is located alongside other buttons on the toolbar:

If you do not see the Report Builder button, you might not have permissions. To find out what permissions you need, see How to: Configure Report Builder Access. You can also launch Report Builder directly from a URL. For more information, see How to: Start Report Builder. 3. To verify that you launched the tool, compare your results to the following image:

Initial Installation (Reporting Services) :-

SQL Server Reporting Services is installed through the SQL Server 2008 Setup program. You can install Reporting Services alongside other SQL Server components or you can install Reporting Services as a stand-alone component. Reporting Services includes both client and server applications, and it requires access to an instance of the SQL Server Database Engine that is used to host the report server database that provides internal storage for a report server installation. When you install Reporting Services, you can choose whether to install the report server in a default configuration or in a files-only installation mode that allows you to configure the server after installation is finished. You can use the Reporting Services Configuration tool to configure the server after a files-only installation. Important Changes for Report Server Installation SQL Server 2008 introduces fundamental changes to the prerequisites and server hosting environment of Reporting Services. If you are familiar with previous versions of Reporting Services and installing SQL Server 2008 Reporting Services for the first time, review the following points:

The prerequisite check for Microsoft Internet Information Services (IIS) and ASP.NET is removed. Reporting Services uses a native hosting environment and the SQL Server common language runtime (SQL CLR) in this release. For more information, see What's New (Reporting Services). Setup supports installation options for default configuration (native mode), default configuration (SharePoint integrated mode), and a files-only installation option so that you can specify all report server configuration after Setup is finished. The default configuration options for Reporting Services require that the SQL Server Database Engine be installed with Reporting Services. The default configuration for SharePoint integrated mode is new in SQL Server 2008. It provides a way to install the report server database in a format that supports integrated operations. Additional configuration steps will still be necessary. You must still install the Microsoft SQL Server 2008 Reporting Services Add-in for Microsoft SharePoint Technologies and specify report server integration settings and permissions on the SharePoint site. In addition, if the report server is on a different computer, you must install and configure a Web front end to join the report server to a SharePoint farm. For more information about these installation options, see Default Configuration for a Native Mode Installation (Reporting Services) and Configuring Reporting Services for SharePoint 3.0 Integration. If you install Reporting Services on a computer that has IIS installed, you might encounter interoperability issues that can be difficult to detect if you are not aware of them. See Deploying Reporting Services and Internet Information Services Side-by-Side for details. If you install Microsoft Office SharePoint Server (MOSS) and Reporting Services, there might be a conflict with the default Report Center URL in SharePoint. This is because Report Center and Reporting Services Report Manager use the same default URL of http://computer_name/reports. You should use the Reporting Services Configuration tool to configure the report server and Report Manager to use a different port or virtual directory than SharePoint. If you have a deployment of an earlier version of Reporting Services and are installing SQL Server 2008 to try out new features, be sure to backup your report definition files and report server databases. After you install SQL Server 2008, the report server database version will be upgraded automatically when the Report Server service starts. The report server content will be upgraded automatically when you first run the report against a SQL Server 2008 report server instance. What do you want to do? To get started, choose the item that best matches your objective, and then click a link for more information.

Read about hardware and software requirements, or to learn more about components in SQL Server. For more information, see Hardware and Software Requirements for Installing SQL Server 2008 and Editions and Components of SQL Server 2008. Read about components in Reporting Services and how to specify installation options to select the components you want to use. For more information, see Component Architecture and Considerations for Installing Reporting Services.

Evaluate different deployment topologies and identify the requirements for a specific scenario. For more information, see the topics in Planning and Architecture (Reporting Services). Learn about different approaches for installing Reporting Services and the difference between a files-only installation and the default configuration. For more information, see Considerations for Installing Reporting Services. Install Reporting Services. For more information, see How to: Install SQL Server 2008 (Setup) or How to: Install SQL Server 2008 from the Command Prompt. To install Reporting Services and the report server database on different computers, select the Install but do not configure the report server option in setup or the Files-Only installation mode in a command line installation, and then create the report server database on the remote SQL Server instance after setup is finished. For more information, see How to: Install SQL Server 2008 (Setup) and Creating a Report Server Database. Note: For local installations, you must run Setup as an administrator. If you install SQL Server from a remote computer, you must use a domain account that has read and execute permissions on the remote share.

Next Steps After you install Reporting Services, you can do the following:

Verify installation succeeded by starting Report Manager. Download and install Reporting Services samples. Use the tutorials to try out specific features and learn basic skills. The following sections provide instructions for performing these steps. Starting Report Manager

When you select the Install the default configuration option in Setup, you can immediately verify that the report server is configured and operational by starting Report Manager. To start Report Manager, open a browser window. In the URL address, type http://localhost/reports. You should see the Report Manager Home page. Note: If you installed the report server as a named instance, the default URL that Setup creates will include the instance name. For more information, see Configuring Report Server URLs.

If you installed Reporting Services in SharePoint integrated mode, the rsOperationNotSupportedSharePointMode error message should appear when you try to browse to the Report Manager URL. Additionally, after a successful installation and configuration of the report server in SharePoint integrated mode, you should be able to browse to the report server URL and see the SharePoint site collection URL in the SharePoint farm. For more information, see Configuring Reporting Services for SharePoint 3.0 Integration. If you have trouble starting Report Manager, see How to: Troubleshoot a Reporting Services Installation Problem. Download Samples

In SQL Server 2008, you can download and install the AdventureWorks sample database and Reporting Services sample applications, extensions, scripts, reports, models, and other files from the Microsoft CodePlex site: 1. Open a browser window and type http://www.CodePlex.com or click SQL Server Samples to go directly to the Microsoft SQL Server Samples and Community Projects portal page. 2. 3. 4. 5. Find Microsoft SQL Server Product Samples on the page. Click Database. Click the Release tab. Find the version of the AdventureWorks database you want to use: a. Choose AdventureWorksDB.msi (or AdventureWorksDBx64.msi or AdventureWorksDBIA64.msi if you are using 64-bit or Itanium platforms) to download the Setup program for the AdventureWorks OLTP database that provides data for most Reporting Services sample reports and models. b. Choose AdventureWorksBI.msi (or AdventureWorksBIx64.msi or AdventureWorksBIIA64.msi if you are using 64-bit or Itanium platforms) to download the Setup program for the AdventureWorks OLAP database. It provides data to the Sales Reason Comparison report. You must have SQL Server Analysis Services installed to use this database. 6. 7. 8. On the Microsoft SQL Server Product Samples page, click Reporting Services. Click the Release tab. Download the SQL Server Samples Setup program and then run Setup on your computer. You must install all the samples. There is not a separate Setup program for Reporting Services. Reporting Services Tutorials

Reporting Services includes tutorials to help developers, administrators, and report authors learn basic skills. If you are new to Reporting Services, you can use the tutorials to try out specific features in different areas of the product

to further confirm that the installation is successful. For more information, see How Do I Find Tutorials (Reporting Services). Getting Assistance (Reporting Services)

Microsoft SQL Server 2008 Reporting Services (SSRS) is a server-based platform for building reports from relational and multidimensional data sources, publishing reports that can be viewed in various formats, and centrally managing security and subscriptions. The reports that you create can be viewed over a Web-based connection or as part of a Microsoft Windows application or SharePoint site. Reporting Services includes graphical tools and wizards for creating and publishing reports and report models, report server management tools for administering Reporting Services, and APIs for programming against and extending the Reporting Services object model. This section provides links to popular help topics and Reporting Services tutorials. For more information about how to find information in SQL Server Books Online, see Using SQL Server Books Online. In This Section How Do I Find Tutorials Find tutorials for many Reporting Services tasks, from creating a simple report to generating RDL programmatically. How Do I find How To Topics Find procedural topics for each of the Reporting Services tools and utilities in one location. How Do I Browse by Job Role Find the topics that are most useful to a particular job role. Reporting Services has documentation for information workers, analysts, administrators, and developers. Use these topics as a quick start into the documentation for your job role. Related Sections Getting Started Provides an overview of Reporting Services, describes what's new in this release, and provides initial installation information. Planning and Architecture Describes the Reporting Services architecture and provides suggestions for implementing Reporting Services. Development

Provides information about developing solutions using Reporting Services features, tools and APIs. A Developer's Guide, samples, and information about scripting, ad hoc reporting, and report design are included here. Deployment Provides installation information, including upgrade and migration strategies, and interoperability with SharePoint products and technologies. Information about deploying reporting solutions is included also. Operations Provides information about administering a Reporting Services deployment, including monitoring and performance guidelines. Security and Protection Describes the various security mechanisms for Reporting Services. Information about secure deployment, development, and operations, and how to set up role-based security is included. Troubleshooting Provides troubleshooting information and tools. Technical Reference Provides reference information about the Reporting Services user interface, tools and utilities, errors and events, Report Definition Language, and APIs.

How Do I Find Tutorials (Reporting Services) :-

SQL Server Reporting Services includes the following tutorials, which you can use to develop your skills one step at a time. In This Section Reporting Services Tools Provides an introduction to the Reporting Services Configuration tool, Report Manager, Report Builder, Report Designer, and Model Designer by showing you how to locate and open each tool. Tutorials (Reporting Services) These tutorials provide step-by-step instructions for creating simple tabular, matrix, and chart reports. Learn how to group, sort, and format data, and how to use parameters to customize your report results. Designing Ad Hoc Reports: Tutorials These tutorials show you how to create tabular, matrix, and parameterized reports using the SQL Server 2005 Report Builder. You can also learn how to create model-based reports using Report Designer.

Designing Report Models: Tutorials Learn how to create a report model, refine the model, and apply security filters. You can also create custom clickthrough reports. Administrative Tasks Creating a Data-Driven Subscription Shows you how to create a data-driven subscription, which is a specialized form of report delivery that uses a query to get subscription data and preferences. Setting Permissions in Reporting Services Shows you how to create roles assignments that control access to report server content. Programming Accessing the Report Server Web Service Using Visual Basic or Visual C# Shows you how to access the Report Server Web service to retrieve item properties Generating RDL Using the .NET Framework Uses the XmlTextWriter class and sample data to create a report definition programmatically. Updating Reports Using Classes Generated from the RDL Schema Uses the xsd tool to generate C# or Visual Basic classes from the RDL schema that let you update report definitions programmatically.

Reporting Services Architect InfoCenter :-

An architect who is evaluating Reporting Services will need to make recommendations about which tools to use, which deployment modes and topologies to implement, and whether the off-the-shelf features need to be supplemented or replaced with custom components. Because an architect typically approaches product evaluation with a predefined set of requirements, the focus of the evaluation might include all or some of the following tasks:

Evaluate report layout features, presentation formats, and data sources supported in Reporting Services to determine whether users can build the types of reports that they need. Evaluate report access and distribution features to determine whether you can secure reports using existing the security infrastructure and deliver reports to users at the right time and format. Evaluate approaches for archiving reports and auditing report activity. Evaluate server deployment configurations to address requirements around scalability, availability, integration with other server technologies, and server access over public HTTP connections.

Determine whether all requirements can be satisfied using the off-the-shelf tools and features provided in Reporting Services, or whether you need to consider customization. Reporting Services includes a rich set of default features, and an equally rich set of features for customizing, integrating, and extending server and report capabilities. Given the range of programmatic interfaces and controls that are available, you will want to determine early on whether to use the default functionality or build custom features. The following topics contain information and links to guide you through the evaluation process so that you can quickly determine how best to use Reporting Services in your organization. Product Concepts and Features

Reporting Services Features Reporting Services Scenarios Reporting Services Concepts Component Architecture Service Architecture (Reporting Services) Reports and Data

Types of Reports Data Sources Supported by Reporting Services Working with Models Deployment Considerations

Planning a Deployment Mode Planning a Deployment Topology Solution Design Considerations for Multi-Lingual or Global Deployments (Reporting Services) Solution Design Considerations for Network Topologies Tools

Reporting Services Components and Tools Reporting Services in Business Intelligence Development Studio

Report Builder SQL Server Tools for Report Server Administration Reporting Services Configuration Tool Customizing and Extending Reporting Services

Choosing Between URL Access and SOAP Integrating Reporting Services Using the ReportViewer Controls Reporting Services Extensions Using Custom Assemblies with Reports

Component Architecture :-

The following diagram shows the three-tier architecture of a Reporting Services deployment. It shows the report server database and data sources in the data tier, the report server components in the middle tier, and the client applications and built-in or custom tools in the presentation tier. It shows the flow of requests and data among the server components and which components send and retrieve content from a data store. For more information about how connections are made at run time, see Planning for Services, Accounts, and Connections. Architecture Diagram

Reporting Services architecture diagram

Applications The report server includes three applications that run in the same Windows service:

Report Manager, which is represented by the Report Manager component in the diagram. Report Manager is a browser application that provides front-end access to the Reporting Services Web service. Reporting Services Web service, which is represented by the Web service components in the diagram. This application handles on-demand, interactive report processing. Background processing application, which is represented by the Windows service components in the diagram. This application processes reports that are triggered from a schedule and delivers reports to target destinations. For more information about each application, see Service Architecture (Reporting Services). Data Storage The report server is a stateless server that stores all properties, objects, and metadata in a SQL Server database. Stored data includes published reports, report models, and the folder hierarchy that provides the addressing for all items managed by the report server. A report server database can provide internal storage for a single Reporting Services installation or for multiple report servers that are part of a scale-out deployment. Extensions

The report server supports custom authentication extensions, data processing extensions, report processing extensions, rendering extensions, and delivery extensions. A report server requires at least one authentication extension, data processing extension, and rendering extension. Delivery and custom report processing extensions are optional, but necessary if you want to support report distribution or custom controls. Security Extensions

Security extensions are used to authenticate and authorize users and groups to a report server. The default security extension is based on Windows authentication. You can also create a custom security extension to replace default security if your deployment model requires a different authentication approach (for example, if you require forms-based authentication for Internet or extranet deployment). Only one security extension can be used in a single Reporting Services installation. You can replace the default Windows authentication security extension, but you cannot use it alongside a custom security extension. Data Processing Extensions

Data Processing extensions are used to query a data source and return a flattened row set. Reporting Services uses different extensions to interact with different types of data sources. You can use the extensions that are included in Reporting Services, or you can develop your own extensions. Data processing extensions for SQL Server, Analysis Services, Oracle, SAP NetWeaver Business Intelligence, Hyperion Essbase, Teradata, OLE DB, and ODBC data sources are provided. Reporting Services can also use any ADO.NET data provider. Data processing extensions process query requests from the Report Processor component by performing the following tasks:

Open a connection to a data source. Analyze a query and return a list of field names. Run a query against the data source and return a rowset. Pass parameters to a query, if required. Iterate through the rowset and retrieve data. Some extensions can also perform the following tasks:

Analyze a query and return a list of parameter names used in the query. Analyze a query and return the list of fields used for grouping. Analyze a query and return the list of fields used for sorting. Provide a user name and password to connect to the data source. Pass parameters with multiple values to a query. Iterate through rows and retrieve auxiliary metadata.

For more information, see Connecting to Report Data. Rendering Extensions

Rendering extensions transform data and layout information from the Report Processor into a device-specific format. Reporting Services includes seven rendering extensions: HTML, Excel, CSV, XML, Image, PDF, and Microsoft Word.

HTML Rendering Extension

When you request a report from a report server through a Web browser, the

report server uses the HTML rendering extension to render the report. The HTML rendering extension generates all HTML using UTF-8 encoding. For more information, see Rendering to HTML and Planning for Browser Support. Excel Rendering Extension The Excel rendering extension renders reports that can be viewed and modified

in Microsoft Excel 97 or later. This rendering extension creates files in Binary Interchange File Format (BIFF). BIFF is the native file format for Excel data. Reports that are rendered in Microsoft Excel support all of the features available for any spreadsheet. For more information, see Exporting to Microsoft Excel. CSV Rendering Extension The Comma-Separated Value (CSV) rendering extension renders reports in

comma-delimited plain text files, without any formatting. Users can then open these files with a spreadsheet application, such as Microsoft Excel, or any other program that reads text files. For more information, see Exporting to a CSV File. XML Rendering Extension The XML rendering extension renders reports in XML files. These XML files can

then be stored or read by other programs. You can also use an XSLT transformation to turn the report into another XML schema for use by another application. The XML generated by the XML rendering extension is UTF8 encoded. For more information, see Exporting to XML. Image Rendering Extension The Image rendering extension renders reports to bitmaps or metafiles. The

extension can render reports in the following formats: BMP, EMF, GIF, JPEG, PNG, TIFF, and WMF. By default, the image is rendered in TIFF format, which can be displayed with the default image viewer of your operating system (for example, Windows Picture and Fax Viewer). You can send the image to a printer from the viewer. Using the Image rendering extension to render reports ensures that the report looks the same on every client. (When a user views a report in HTML, the appearance of that report can vary depending on the version of the user's browser, the user's browser settings, and the fonts that are available.) The Image rendering extension renders the report on the server, so all users see the same image. Because the report is rendered on the server, all fonts that are used in the report must be installed on the server. For more information, see Exporting to an Image File. PDF Rendering Extension The PDF rendering extension renders reports in PDF files that can be opened and

viewed with Adobe Acrobat 6.0 or later. For more information, see Exporting to a PDF File. Microsoft Word Rendering Extension Microsoft Word. The Microsoft Word rendering extension renders a report as a Word

document that is compatible with Microsoft Office Word 2000 or later. For more information, see Exporting to

Report Processing Extensions

Report processing extensions can be added to provide custom report processing for report items that are not included with Reporting Services. By default, a report server can process tables, charts, matrices, lists, text boxes, images, and all of the other report items described in Adding Other Report Items. If you want to add special features to a report that require custom processing during report execution (for example, if you want to embed a Microsoft MapPoint map), you can create a report processing extension to do so. Delivery Extensions

The background processing application uses delivery extensions to deliver reports to various locations. Reporting Services includes an e-mail delivery extension and a file share delivery extension. The e-mail delivery extension sends an e-mail message through Simple Mail Transport Protocol (SMTP) that includes either the report itself or a URL link to the report. Short notices without the URL link or report can also be sent to pagers, phones, or other devices. The file share delivery extension saves reports to a shared folder on your network. You can specify a location, rendering format, and file name, and overwrite options for the file you create. You can use file share delivery for archiving rendered reports and as part of a strategy for working with very large reports. Delivery extensions work in conjunction with subscriptions. When a user creates a subscription, the user chooses one of the available delivery extensions to determine how the report is delivered. Service Architecture (Reporting Services) :-

In Reporting Services, a report server is implemented as a Windows service that consists of distinct feature areas that run in separate application domains. The service hosts Report Manager, the Report Server Web service, and background processing feature areas. This topic describes the composition of the service so that you can make informed choices about which features to enable and how to troubleshoot any issues that occur. Architecture Diagram The following diagram shows the service architecture in Reporting Services.

Note: Not all report server capabilities are reflected in the architecture diagram. For example, initialization and reversible encryption are critical server operations that exist outside the scope of the three feature areas illustrated in the diagram.

Service and Infrastructure The Report Server Windows service is a consolidated set of applications that run in a single process, under a single account, with access to a single report server database and set of configuration files. Configuration settings for the whole service are stored in RSeportServer.config, ReportServerServices.exe.config, and the report server database. Within the service, Report Manager, the Web service, and background processing run in separate application domains. Although all three feature areas are enabled by default, you can configure which parts of the service are available at any given time. For example, you can turn off the Web service if you do not want to support ondemand or interactive reporting. Although server feature areas are isolated into separate application domains, memory management and process health is managed for the service as a whole. Memory thresholds are configured for the service in its entirety. The report server handles recycle actions as internal operations. You cannot recycle individual parts of the service on demand. However, you can specify configuration settings that specify how long persistent connections are kept open. If you segment the feature areas of a service among multiple instances (for example, enable Report Manager in one instance, the Web service in a second instance, and background processing in a third instance), the memory and configuration settings are scoped to the applications that run in that particular instance. Note that even if you

segment the feature areas of the service, they are some interdependencies. A complete report server installation typically uses all three. For more information, see How to: Turn Reporting Services Features On or Off. HTTP Listener

Reporting Services includes an HTTP listener that monitors incoming requests directed to HTTP.SYS on a specific port on the local computer. The host name and port are specified on a URL reservation when you configure the server. Depending on the operating system you are using, the port you specify can be shared with other applications. The HTTP listener implements the HTTP 1.1 protocol. It uses the HTTP.SYS capabilities that are built into the operating system. It is for this reason that Reporting Services requires operating systems that include HTTP.SYS as an internal component. When the HTTP listener processes a request, it forwards it to the authentication layer to verify the user identity. The Report Server Web service is called after the request is authenticated. The HTTP Listener uses version 1.0 of the HTTP Server API. For more information, see HTTP Server API on MSDN. Authentication Layer

Reporting Services includes an authentication layer that verifies the identity of the user or application that makes the request. The following authentication types are supported: Windows integrated security, NTLM authentication, Basic authentication, Forms or custom authentication, and Anonymous access. Reporting Services uses Windows integrated security and NTLM authentication by default, but you can specify a different authentication type in the configuration files. Each report server instance can be configured for exactly one authentication type. If you have a scale-out deployment configuration, each node in the environment must use the same authentication type. Report server authentication operates within the context of your network security settings and client applications. The successful use of a particular authentication type depends on browser and network security features. For example, using Windows integrated security requires that you use Internet Explorer, you have Kerberos network authentication, and impersonation is enabled. Furthermore, if you want to use integrated security for report data source connections, you must also have delegation enabled to allow for subsequent connections to remote data sources. For more information about authentication in Reporting Services, see Configuring Authentication in Reporting Services. Report Manager Report Manager is a zero-footprint client that provides Web front-end access to the Report Server Web service. It is the out-of-the-box tool for viewing and managing report server content and operations.

By default, it provides front-end access to the Web service that runs in the same server instance. If the Web service is not enabled in the server instance, you can point Report Manager to a Report Server Web service in a different instance or computer by setting a URL in the configuration files. Report Manager runs within a browser session on the client computer. There are no application files or settings that are stored on the client. Session state is preserved as long as the browser window is open. User-specific settings are saved to the report server database and re-used whenever the user connects to Report Manager. Report Manager can accommodate custom delivery extension settings in the subscription definition pages. If you create and deploy custom delivery extensions, Report Manager can present options and display text for that extension dynamically. To use Report Manager, you must define a URL to the application. You can effectively disable Report Manager by not creating the URL in the first place. If you installed Reporting Services in the default configuration, the URL is already created and you must delete it if you decide to turn the application off. If you configure the report server to run in SharePoint integrated mode, Report Manager is turned off. You cannot use Report Manager on a report server that runs in SharePoint integrated mode, even if you previously configured the URL. For more information about Report Manager, see Report Manager and How to: Configure Report Manager. Report Server Web Service The Report Server Web service is the core engine for all on-demand report and model processing requests that are initiated by a user or application in real-time, including most requests that are directed to and from Report Manager. The Report Server Web service performs end-to-end processing for reports that run on demand. To support interactive processing, the Web service authenticates the user and checks the authorization rules prior to handing a request. The Web service supports default Windows security extension and custom authentication extensions. The Web service is also the primary programmatic interface for custom applications that integrate with the report server. If you are providing a custom user interface, you can use the Web service without Report Manager. For more information, see Report Server Web Service. Background Processing Background processing refers to operations that run in the background and are initiated by the report server. Most background processing consists of scheduled report processing and subscription delivery, but it also includes report server database maintenance tasks. Background processing for scheduling, subscription, and delivery is configurable and can be turned off through the Surface Area Configuration for Reporting Services facet of Policy-Based Management in Management Studio. If you

turn those operations off, scheduled report or model processing will not be available in the current service instance. Database maintenance is a core task that cannot be turned off as it keeps the server in a working state. Background processing operations depend on a front-end application or the Web service for definition. Specifically, schedules and subscriptions are created in the application pages of Report Manager or on a SharePoint site if the report server is configured for SharePoint integration, and then forwarded to the Web service, which creates and stores the definitions in the report server database. If you are providing custom code that requires programmatic access to backend processing, use the Reporting Services WMI provider. For more information, see Reporting Services WMI Provider. To learn more about scheduling and delivery processing features, see Scheduling and Delivery Processor. Authentication and Memory Management for Background Processing

As the service architecture diagram illustrates, background processing handles authentication and memory management differently than Report Manager and the Web service. Background processes use Authz.dll to verify whether the user account that was used to create the subscription still has the correct permissions to view the report. This check ensures that the user who is about to receive the report is a valid Windows user in the domain. All other report and model processing that runs as a background process is requested under the identity of the unattended execution account. Planning a Deployment Mode :-

SQL Server 2008 Reporting Services supports two modes of deployment for report server instances:

Native mode, including native mode with SharePoint Web Parts, where a report server runs as an application server that provides all processing and management capability exclusively through Reporting Services components. SharePoint integrated mode, where a report server is deployed as part of a SharePoint server farm. Native Mode In native mode, a report server is a stand-alone application server that provides all viewing, management, processing, and delivery of reports and report models. This is the default mode for report server instances. You can install a native mode report server that is configured during setup or you can configure it for native mode operations are Setup is finished. SharePoint Integrated Mode In SharePoint integrated mode, a report server must run within a SharePoint server farm. A SharePoint site provides the front-end access to report server content and operations. The report server provides all report processing and rendering.

SharePoint integrated mode requires Windows SharePoint Services 3.0 or Office SharePoint Server 2007, the Reporting Services Add-in for SharePoint Technologies, and a report server that is configured for SharePoint integrated mode. A report server is configured for this mode if the report server database to which it is connected can store application data in a format that is optimized for non-hierarchical site and document addressing found in a deployment of a SharePoint product or technology. For more information, see Configuring Reporting Services for SharePoint 3.0 Integration and Deploying Models and Shared Data Sources to a SharePoint Site. Native Mode with SharePoint Web Parts For deployments that have simple integration requirements, you can consider using SharePoint Web Parts as an alternative to SharePoint integrated mode. Reporting Services provides two Web Parts that you can install and register on an instance of Windows SharePoint Services 2.0, Windows SharePoint Services 3.0, SharePoint Portal Server 2003, or Office SharePoint Server 2007. From a SharePoint site, you can use the Web Parts to find and view reports that are stored and processed on a report server that runs in native mode. These Web parts were introduced in earlier releases of Reporting Services. For more information about how the native mode Web Parts compare with SharePoint integrated mode features, see Planning for SharePoint Integration. Switching Modes Report server modes are mutually exclusive. You can switch modes by reconfiguring the report server database connection to point to a database that stores application data in the format expected for a given mode, but there is no supported approach for migrating content between database types. For more information about how to configure an existing report server instance to run in SharePoint integrated mode, see How to: Switch Server Modes (Reporting Services Configuration). Deploying a SharePoint Integrated Report Server in a Multi-Lingual Environment Windows SharePoint Services and Office SharePoint Server products are available in many more languages than SQL Server. Currently, SQL Server is localized into these languages: Simplified Chinese, Traditional Chinese, French, German, Italian, Japanese, Korean, Russian, and Spanish. When you configure a report server to run within a deployment of a SharePoint product or technology, you might see a combination of languages. The user interface, documentation, and messages will appear in the following languages:

All application pages, tools, errors, warnings, and messages that originate from Reporting Services will appear in the language used by the Reporting Services instance in one of the SQL Server languages. Application pages that you open on a SharePoint site, the Report Viewer Web Part, and Report Builder will appear in one of the 22 supported languages for the Reporting Services Add-in. To view the list of supported languages, go to SQL Server Downloads and find the download page for the Reporting Services Add-in. SharePoint sites, SharePoint Central Administration, online help, and messages are available in the 39 languages supported by Office Server products.

If the language of your SharePoint product or technology differs from the report server language, Reporting Services will try to use a language from the same language family that provides the closest match. If a close substitute is not available, the report server uses English. For more information about language support in Reporting Services, see International Considerations for Reporting Services on msdn.microsoft.com or Solution Design Considerations for Multi-Lingual or Global Deployments (Reporting Services) in SQL Server Books Online. Planning a Deployment Topology :-

SQL Server 2008 Reporting Services (SSRS) offers several approaches for deploying server components. The following sections in this topic provide an overview of deployment topologies for Reporting Services in both native mode and SharePoint integrated mode. Note: The diagrams in this topic do not include deployment configurations with Windows SharePoint Services (WSS) 3.0 or Microsoft Office SharePoint Server (MOSS) 2007. However, you can use the same deployment topologies shown in this document by configuring either WSS or MOSS on the same computer as your report server or servers, or by configuring WSS or MOSS in a separate application tier. For more information about planning for SharePoint integration and considerations for SharePoint deployment topologies, see the Planning for SharePoint Integration section under this topic.

Hardware and software requirements are an important consideration for planning your deployment topology. These requirements affect the components that you run on your server. In addition to reviewing the deployment topologies in this topic, use the information in Hardware and Software Requirements for Installing SQL Server 2008 and Estimating Report Server Database Requirements as a guideline for the requirements to run Reporting Services. The report server databases in the following diagrams represent the reportserver and reportservertempdb databases that Reporting Services uses to store metadata and object definitions. Report data can come from other databases or data sources on the same computer that hosts the report server databases or from other computers. For more information, see Report Server Database and Data Sources Supported by Reporting Services. Single Server Deployment In a single server deployment configuration, the report server instance runs on the same computer as the Database Engine that hosts the report server database. The following diagram is an example of a single server deployment configuration.

The single server deployment configuration is recommended in the following circumstances:

For small to moderate report volumes where demand for report processing is evenly spaced throughout the day and the number of concurrent sessions is easily handled by the processing capability of the computer. When you are a developer and need to develop custom solutions that integrate with SSRS. When you are evaluating the software. This deployment configuration is the easiest to install and maintain. The default installation options result in this deployment topology. If you find that this deployment configuration meets the needs of your organization, you should continue with this deployment configuration, knowing that you can upgrade hardware or add additional server instances later if report demand increases. Standard Server Deployment In a standard server deployment, the report server instance runs on a different computer than the SQL Server Database Engine instance that hosts the report server database. The following diagram is an example of a standard server deployment configuration.

The standard deployment configuration is recommended in the following circumstances:

For moderate report volumes where demand for report processing is evenly spaced throughout the day and the number of concurrent sessions is easily handled by the processing capability of the computers. The standard deployment scenario offers improved performance over the single server deployment, because the report server and the Database Engine compete for processing resources such as CPU time, memory, and disk access when they are hosted on the same computer. Some report server operations are resource-intensive, so running the report server on a separate computer can reduce the competition for processing resources. Additionally, the footprint of a report server database might be small at first, but disk space requirements and I/O subsystem utilization can grow significantly at run time. When you are deciding whether to choose a single server deployment or a standard server deployment, consider the following points based on your hardware configuration:

Processing resources

Memory resources Disk space availability I/O capacity If you find that this deployment configuration meets the needs of your organization, you should continue with this deployment configuration, knowing that you can upgrade hardware or add additional server instances later if report demand increases. Standard Scale-Out Server Deployment In a standard scale-out server deployment, multiple report servers share a single report server database. The report server database should be installed on a remote SQL Server instance. The following diagram is an example of a standard scale-out server deployment configuration with the report server database on a remote SQL Server instance.

Deploy Reporting Services in a scale-out deployment to provide a highly available and scalable report server installation. In a scale-out deployment, each report server in the deployment is referred to as a node. Nodes participate in the scale-out if the report server is configured to use the same report server database as another report server. Report server nodes can be load balanced to support high-volume interactive reporting. A scale-out server deployment configuration is recommended in the following circumstances:

For high-volume reporting, where activity is measured in concurrent users or in the complexity of reports that take a long time to process or render. For high-availability scenarios, where it is important that the reporting environment does not encounter unplanned downtime or become unavailable. When you want to improve the performance of scheduled operations and subscription delivery. Scale-out deployment is not supported in all editions of SQL Server. All report server nodes in a deployment must run the same version and service pack level of SQL Server. For more information about SQL Server 2008 editions, see Editions and Components of SQL Server 2008 and Features Supported by the Editions of SQL Server 2008. For more information about scale-out deployments and using Network Load Balanced (NLB) clusters, see Planning for Scale-Out Deployment under this topic.

As another option, you might decide to host the report server database on a SQL Server instance that is part of a failover cluster. The following diagram is an example of a scale-out server deployment configuration where the report server databases are on an instance that is part of a failover cluster.

By hosting your report server databases on an instance that is part of a failover cluster, you can enhance the fault tolerance of your reporting environment. Failover clustering is also possible for standard deployments, but typically there is less need for failover clustering when the environment is not configured for high-availability scenarios, such as environments with scale-out deployments. For more information, see Hosting a Report Server Database in a SQL Server Failover Cluster. Advanced Scale-Out Server Deployment In addition to the standard scale-out deployment, you might determine that your reporting environment would benefit from a more advanced scale-out deployment configuration. For example, you might decide to use the loadbalanced report servers for interactive report processing and add a separate report server computer to process only scheduled reports. The following diagram is an example of this advanced scale-out server deployment configuration.

This advanced scale-out deployment benefits from the same advantages as the standard scale-out deployment, but the environment is optimized for performance by separating the load balanced report servers, which handle interactive report processing, from a report server that handles only scheduled reports. Planning for Scale-Out Deployment :-

A report server scale-out deployment is two or more report server instances that share a single report server database. A scale-out deployment enables you to -increase the number of users who concurrently access reports

and improve the availability of the report server. By using this deployment topology, it is recommended that you configure report server instances with identical settings, although it is not required. You can configure each server for specific capabilities and run them as independent instances, such as when you might want to isolate interactive report processing from scheduled or subscription report processing. The following list summarizes the scenarios supported in a scale-out deployment:

Run report server instances in a load-balanced solution to support high-volume, on-demand reporting. Increase the availability of the report server. Isolate service features on specific computers to allow for maximum use of all available system resources, yet still store and retrieve the same data from the same report server database. The following requirements apply to a scale-out deployment. Requirement Description Scale-out deployment is supported in the following editions: Enterprise, Developer, and Edition requirements Standard, Workgroup, and Express editions do not support a scale-out deployment. Version requirements Domain requirements All of the report servers must be the same major version, and they must have the same updates and service packs. Evaluation.

All of the report servers must be in the same domain or in a trusted domain.

Report server instances in a scale-out deployment must have the same type of authentication extension. If you created a custom authentication extension, you must deploy and use that extension on all nodes. You should configure the same authentication types on each node in a scale-out deployment. Because of this restriction, you cannot configure a scale-out deployment to support simultaneous intranet and extranet access to the same report server database through separate report server Authentication requirements instances where each instance is configured for different authentication types and authorization rules. The reason for this restriction is that Reporting Services does not synchronize custom permission settings between the different authentication types. If you break permission inheritance and create role-assignments on specific items, access-denied errors will occur when the item is accessed by a user who was authenticated through the other authentication provider. To work around this issue, you would have to duplicate every item-specific role assignment through both servers to get dual security policies for both authentication extensions. This labor-intensive and error-prone practice is likely to result in access-denied errors. For this reason, the scenario is not

supported.

The remaining sections in this topic provide more detail about supported scenarios. Scale-out Deployment for Load-Balanced Solutions After you configure a report server scale-out deployment, the report server nodes can be load balanced in a Network Load Balanced (NLB) cluster to support high-volume reporting. You can use a software or hardware solution to implement the NLB cluster. Deploying Reporting Services in an NLB cluster is only necessary to increase the responsiveness of the report server or to increase the number of interactive reports that can be processed concurrently. Scheduled reports and subscription processing are faster on a scale-out deployment, but do not require an NLB cluster to get faster performance. To create and configure the NLB cluster, you must use software and tools that support that functionality. There are load balancing features in Microsoft Windows Server operating systems and in third-party applications. By itself, Reporting Services does not provide load balancing features or the ability to define a single virtual server URL to access multiple report server nodes. The hardware or software solution you select must provide a way to define a virtual server name that provides a single point of entry to all the nodes in a report server scale-out. Reporting Services is not aware of Microsoft Cluster Services. If you use Microsoft Cluster Services, review the following information:

If Reporting Services runs on an Active-Passive cluster with Microsoft Cluster Services, the Report Server service runs and handles requests on each cluster node on which the service is deployed. When a report server database is hosted on a SQL Server that is part of a failover cluster, the report server must be configured to use the virtual name of the failover cluster to connect to the report server database. Otherwise, the report server will be unable to connect to the report server database when a failover occurs. You cannot deploy a report server on Microsoft Cluster Services through SQL Server failover clustering. However, you can install the report server with the files-only option during a SQL Server installation. To configure your deployment 1. 2. 3. Configure two or more servers to run in an NLB cluster. Configure a separate server to host the report server database. Install and configure a report server scale-out deployment by installing a report server instance on each node in the NLB cluster. For more information about how to install the report servers and join them to a scale-out deployment, see How to: Configure a Report Server Scale-Out Deployment (Reporting Services Configuration). 4. Configure view state validation and check report server configuration. For more information, see How to: Configure a Report Server on a Network Load Balancing Cluster.

5.

On each node in the scale-out deployment, configure the HostName property of the report server to use the URL name of the NLB. This step configures the URLs that are generated by the report server to point to the NLB instead of a specific server. Scale-out Deployment for Improved Performance of Service Features

One technique for improving report server performance is to configure a scale-out deployment that assigns specific types of processing to each report server. For example, you can configure one report server to handle scheduled report and subscription processing and a second report server for interactive reporting. Because the report servers run in the same scale-out deployment, each server processes the same set of reports. To configure your deployment 1. Install and configure a report server scale-out deployment. For instructions, see How to: Configure a Report Server Scale-Out Deployment (Reporting Services Configuration). 2. 3. On the server that is used for interactive reporting, turn off scheduled report and subscription processing. On the other server that is used for background processing, turn off the Report Server Web service and Report Manager. For more information about how to turn off specific features, see How to: Turn Reporting Services Features On or Off. Planning for Services, Accounts, and Connections :-

Reporting Services is a distributed server application that consists of multiple components, some of which can be installed on different computers. As part of deployment planning, you will want to consider how users connect to the report server, how the report server connects to its internal database, and how the server connects to the external data sources that provide data to reports. You should also understand which services, accounts, and connections must be configured during or after Setup to make a report server available for operation. Finally, you should know when Administrator permissions are required for running a tool or performing a task. Connections Used in a Reporting Services Deployment When planning a Reporting Services deployment, there are three types of connections that you must configure and maintain. First, you must consider how users will connect to the report server. Second, you must consider how the report server connects to the report server database. Third, you must consider how report authors and content managers will define connections to external data sources that provide data to reports. The following diagram illustrates the connections in a default native mode installation. This diagram provides an introduction to the types of connections that you must define or manage.

For information about SharePoint integrated mode, see Security Overview for Reporting Services in SharePoint Integrated Mode. The following table provides detailed information about each type of connection. Connection Description Users and applications connect to a report server through HTTP requests that are directed to a URL that is reserved for and registered to a report server instance. You can configure URLs for SSL connections so that users access the report server over an encrypted channel. The request is authenticated by the Report Server Web service. By default, users are authenticated using their Windows domain credentials and integrated security, but you can also configure a report server to use basic authentication. Or you can create and deploy a custom authentication extension or HTTP module to replace the default Windows authentication type with forms authentication or a single sign-on technology. In SharePoint integrated mode, you can also use trusted mode. If the report server uses custom forms authentication, the user connects to the report server through a login that is valid for that authentication extension. User connects to the report server As a best practice, you should use Secure Sockets Layer (SSL) whenever you use Basic authentication, a custom authentication type, or trusted mode, Note:

After the user is authenticated, the report server checks for permissions that authorize access to report server content and operations. Permissions are defined in role assignments that describe which tasks a user can perform. Each user who connects to a report server must have role assignments defined on the account that he or she uses to connect to the report server. For more information, see Granting Permissions on a Native Mode Report Server, How to: Set Permissions for Report Server Items on a SharePoint Site (Reporting Services in SharePoint Integrated Mode), and Comparing Roles and Tasks in Reporting Services to SharePoint Groups and Permissions. For more information about SSL, see Configuring a Report Server for Secure Sockets Layer (SSL) Connections. 2 Report Server connects to report A report server databases provide internal storage to the report server. The report server connects to the report server databases to store and retrieve content, server state, and

server database

metadata. In native mode, reports that are published to the report server are stored in the report server databases. In SharePoint integrated mode, master copies of reports, data sources, and models are stored in the SharePoint content databases. Users and other applications do not connect to the report server database. Only the report server connects to the database. To create the database and configure the connection, you can either install the report server in the default configuration or use the Database page in the Reporting Services Configuration tool. When you configure the report server database connection, the end result is a database login, permissions that are granted to the account, and the ability to connect to the report server database from the report server service. The report server can connect to its database using any of the following account types:

Use the service account. This is the default. Use a domain account. Use a SQL Server login. For more information, see Creating a Report Server Database and Configuring a Report Server Database Connection. Reports contain or reference data source connection information and queries that are processed when the report runs. Report models also reference data sources. To retrieve data used in a report, a report server must connect to other servers that host the external data sources. When the report or model runs, the report server opens a connection to the server or computer, provides the query, waits for the dataset that is returned, and then closes the connection before continuing to the next processing step. Connections to external data sources are first defined in the report and then managed independently of the report after the report is published. At run time, these connections are made by the report server on behalf of the user who is running the report. The report server passes credentials to specific data sources. For any given data source connection, the report server can get credentials in one of the following ways:

Report server 3 connects to external data sources

Impersonate or use the delegated credentials of the user who is running the report. Configuring a report data source to use Windows authentication requires that the report server also be configured to use the default Windows security extension. If the report server uses forms authentication or basic authentication, you cannot configure report data sources to use impersonated or delegated credentials. Prompt the user to type credentials.

Retrieve stored credentials from the report server database. The report server can treat these credentials as Windows credentials and impersonates them before running a query against the data source. Use no credentials. This option is available only when you configure the unattended execution account. Network topology, domain restrictions, and data source type determine how connections are made and the authentication providers you can use. For example, to open a data source connection using the Windows Integrated security context of the user requesting the report, the following requirements must be met:

The data source itself must support Windows integrated security and the user must have a login and access permissions on the database server. Domain security policies must support Kerberos network authentication, with impersonation and delegation enabled. The data source properties defined in the report or shared data source must be set to Windows integrated security. The report server does not validate connection or credentials when they are created. To verify whether connection properties are valid, you must run the report. For more information about setting data source connection properties, see How to: Configure Data Source Properties for a Report (Report Manager). For more information about how to connect to an external data source, see Connecting to a Data Source (Reporting Services) and Specifying Credential and Connection Information for Report Data Sources. This account is sometimes referred to as the unattended report processing account or execution account. When you provide credentials for the unattended execution account, this account is used to

Unattended execution account

run reports and to retrieve images from URLs in report definitions. You can select this option if the data source does not use credentials (for example, if the data is in an XML document). To connect to a computer that hosts a data source, the report server uses the unattended execution account. You can use the Reporting Services Configuration tool to configure the account. For more information, see Configuring the Unattended Execution Account.

Report server targets

The report server uses a delivery extension to gather the credentials that are used to connect connect to the delivery target.

5 connects to delivery to delivery targets, such as a file share. The delivery extension uses these credentials to

Services Used in a Reporting Services Installation

In a Reporting Services installation, there are several services that perform important functions for both interactive and background processing. The following table explains which services are used in a deployment. Service Description A report server is implemented as a Windows service that provides a run time environment for the Report Server Web service, Report Manager, and background processing. The service is registered and configured during Setup. Initially, it runs under an account that you specify during Setup, but you can change it or update the password in the Reporting Services Configuration tool. Be sure to use the Reporting Services Configuration tool so that dependent settings are updated to use the new account information. At a minimum, the account you choose must have permission to connect to the network and Allow Log on Locally permission on the report server and report server database computers. Be sure to choose a least-privilege account. If you are deploying Reporting Services on a computer that runs Internet Information Services (IIS), you might want to choose the built-in Network Service account. For auditing purposes, use a dedicated account that is used only Report Server service The service account can be a Windows user account or a built-in account such as Local System. If you specify a domain user account and the report server is deployed in a network that supports Kerberos authentication, you must register the report server Service Principal Name (SPN) with the domain user account you plan to use. For more information, see How to: Register a Service Principal Name (SPN) for a Report Server. Permissions to access Reporting Services program files are set and managed by Reporting Services when you use Setup or the Reporting Services Configuration tool to configure the account. For more information about permission requirements for the service, see Setting Up Windows Service Accounts. For more information about how to change the account or password, see Configuring the Report Server Service Account. The report server database runs on an instance of a SQL Server 2005 or SQL Server 2008 Database Engine. The Database Engine runs as MSSQLSERVER or as a named instance. This service must be configured and running. SQL Server service Permission to access the report server database is granted through the RSExecRole which is created with the report server database. This role is created on the MSDB, Master, reportserver, and reportservertempdb databases. For more information about this role, see How to: Create the RSExecRole. Reporting Services uses SQL Server Agent service as a timer for triggering events for scheduled processes. This service is required for scheduled operations. It must be configured by the Reporting Services service.

SQL Server Agent

service

and running on the database server that hosts the report server database. SQL Server Agent service must run under a domain account if you configured the report server to connect to SQL Server using a domain account and Windows authentication (instead of a SQL Server login or Service Account). When the report server runs as a domain user, the report server creates SQL Server Agent jobs that are owned by that domain account. Before SQL Server Agent can route a task to the Scheduling and Delivery Processor, SQL Server Agent must have permission to access job information for jobs owned by a domain account. If SQL Server Agent happens to run as a local user account, the service will not have permission to access domain account information, and report subscription and delivery will subsequently fail. For more information about scheduled operations and how stopping or restarting the service affects the subscription queue, see Scheduling and Delivery Processor. For more information about SQL Server Agent account configuration, see Planning for Services, Accounts, and Connections and Configuring the Report Server Service Account. If you are using a named, remote instance of the Database Engine to host the report server

SQL Server Browser service

database, enable and run the SQL Server Browser service on the remote server. SQL Server Browser provides to the Reporting Services Configuration tool the port number used by the named instance. The Reporting Services Configuration tool uses the port number to connect to the Database Engine when you create or configure the report server database. Windows Management Instrumentation (WMI) service must be enabled and running on any

Windows Management Instrumentation

report server you are configuring. The Reporting Services Configuration tool uses the report server WMI provider to connect to local and remote report servers. If you are configuring a remote report server, the computer must allow remote WMI access. For more information, see How to: Configure a Report Server for Remote Administration. This service is part of the core operating system and is enabled for Automatic startup by

Remote Procedure Call (RPC)

default. Reporting Services uses it to initialize the report server. This service must be configured and running for report server operations. Additionally, DCOM must be enabled with RPC to allow remote administration by using the Reporting Services Configuration tool.

Administrator Permissions To manage services, accounts, and connections in a Reporting Services installation, the account you are logged in as must be a member of the local Administrators group on the report server computer. Administrator permissions are required for the following:

Run SQL Server Setup.

Run the Reporting Services Configuration tool. If you configure a report server for remote administration, you can run the tool as a non-administrator if you enable permissions. For instructions, see How to: Configure a Report Server for Remote Administration. Run SQL Server Management Studio if you are not a member of the System Administrator role in Reporting Services. On Windows Vista or Windows Server 2008, you must be an administrator to configure the report server for local administration. For more information, see How to: Configure a Report Server for Local Administration on Windows Vista and Windows Server 2008. On a server that has an instance of a SharePoint product or technology with which you are integrating a report server instance, you must be an administrator to install and configure the Reporting Services Add-in. Additionally, the user that installs the add-in must belong to the administrator group for the SharePoint site collection. If not, the Reporting Services feature will not be activated after installation, and a member of the administrator group for the site collection must activate the Reporting Services feature for it to work.

Planning for Content Publishing and Management Tools :-

As part of an overall deployment strategy, you will want to consider the client tools that are used in a Reporting Services deployment. This topic describes each tool, the user requirements or areas of expertise that you must have for using a tool successfully, and whether there are special considerations regarding security, deployment mode, or topology. Client tools provide the means to configure the report server, create the content that runs on the server, and to view and manage content. In some cases, the tools that you can use will vary depending on whether the report server is configured for native mode or SharePoint integrated mode. If you are not familiar with report server deployment modes, see Planning a Deployment Mode. For an overview of all the client and server components in a Reporting Services installation, see Component Architecture. For more information about how to select specific client and server tools in Setup, see Considerations for Installing Reporting Services. Client Tools for Server Configuration A report server must be configured before it is ready for use. In some cases, if system and application requirements are met, you can install a report server with default values for the report server databases and URL reservations. When you install a report server with default configuration, it is ready to use immediately after Setup is finished. However, if default values are not available, Setup will install just the program files, and you will have to configure the server before it can be used. Tools for Server Configuration

To support server configuration, Reporting Services includes the Reporting Services Configuration Tool and the Report Server Command Prompt Utilities. You can also use the Surface Area Configuration for Reporting Services facet of SQL Server Policy-Based Management to turn off report server features. These tools are always installed on the report server computer when you install a report server instance. They are required components; they cannot be turned off or uninstalled. They are not part of the SQL Server client tool set that can be installed or uninstalled independently of server components. For more information about tools and approaches for turning off features, see How to: Turn Reporting Services Features On or Off. User Tasks and Requirements Tasks for report server configuration include creating the report server database, configuring a service account, configuring URLs and optionally SSL certificates for those URLs, and managing encryption keys. All of these tasks are supported through the Reporting Services Configuration tool. To perform these tasks successfully, you must understand network topology, security fundamentals, and database connections. For scale-out deployments or installation on production servers, you must know how to bring computers on and offline in your network, request or create virtual server names and deploy load-balancing solutions, how to read and interpret log files, and troubleshoot configuration issues. Permissions for using these tools include administrator permissions on the local computer. Any user who is a member of the local Administrator's group on the computer can run the tool and configure the report server. Special Considerations for Server Configuration You can only configure one instance at a time. You can configure local or remote instances, but you might have to enable a report server for remote administration. For more information about enabling a report server for remote administration, see How to: Configure a Report Server for Remote Administration. If you deploy the report server in SharePoint integrated mode, you must have permission to use Central Administration to configure integration settings. Client Tools for Server Administration A Reporting Services installation is often deployed as a distributed application that places a report server instance and report server database on different computers. A complete deployment requires ongoing maintenance to ensure that service account passwords and database connection settings are kept up-to-date, application data is backed up on a regular schedule, and that system resources are sufficient for the quantity and type of reports that are used in your organization. Tools for Server Administration To support server administration, you can use SQL Server Management Studio that is installed as a client tool in SQL Server Setup. Client tools support remote server administration; you can install the tools on a different computer than the server instance and then administer the server remotely. In addition to Management Studio,

you should also plan to use Event Viewer and the Performance monitor console applications that are available through the operating system. User Tasks and Requirements Tasks include enabling optional features, backing up the report server database, monitoring server performance, and troubleshooting server issues. To administer a report server successfully, you must know how to use the Event Viewer and Performance Monitor, read log files, and edit configuration files. You must also know now how to create, schedule, and run backup and restore operations for SQL Server relational databases. You should also know how to stop long-running jobs or troubleshoot performance problems. Permissions for using Management Studio and the system utilities include administrator permissions on the local computer and on the computer that has the report server installed and the Database Engine instance that hosts the report server databases. Client Tools for Content Creation and Publication Reporting Services supports specific types of content; namely, report definitions (.rdl), report models (.smdl), shared data sources (either .rds or .rsds if you are running a report server in SharePoint integrated mode), and arbitrary resource files that can be stored but are not processed on a report server. To create reports, models, and shared data sources, you must install and use authoring tools that produce these types of files. You must then publish these files to a report server, where they are subsequently stored in a report server database and are subject to the security settings and property management features of the report server instance. Tools for Content Creation and Publication Reporting Services includes Report Designer, Report Authoring Preview, Model Designer, and Report Builder. User Tasks and Requirements User requirements and expertise vary depending on which tool you are using and the type of content you are creating. To create report definitions and models in Report Designer or Model Designer, you must have expertise in writing queries, writing expressions, and formatting data. You should know how to conceptualize data to create logical data structures like groups. If you create models, you must have a clear understanding of the underlying data; a model allows you to use your existing understanding to articulate your data in a way that is understandable to other users. Both Report Designer and Model Designer run in Business Intelligence Development Studio, which provides a Visual Studio development environment. Report Builder is easier to use because it works from a report model and templates, and builds the data queries for you. You can use Report Builder to create reports very quickly if you already have a model to work with.

Permissions and settings for using these tools include:

Server settings that enable access to Report Builder. Roles that enable report builder. Roles that enable publish operations. For more information, see How to: Configure Report Builder Access and Securing Reports and Resources. Special Considerations for Content Creation and Publication You should be aware that there are security concerns around publish operations. You should not grant publish permissions to a large number of users. If a user intentionally or unintentionally publishes a report that contains malicious code, the report server and possibly the computer it runs on will be compromised. Note that there are no special considerations for native mode or SharePoint integrated mode deployments. Report processing is insensitive to server modes, and the design tools that are used to create .rdl or .smdl files produce standards compliant output files that process on a report server that is configured for either mode. Only configuration and content management are mode-sensitive. Client Tools for Content Management and Distribution In a Reporting Services installation, content management and distribution refers to granting access to items and operations, creating the folder hierarchy used to organize content, and implementing a strategy for report distribution (either on demand access or subscription-based delivery). It also encompasses report processing options, determining report history and retention policies, creating data-driven subscriptions, creating shared schedules, creating or managing shared data sources, and troubleshooting subscription or delivery problems. Tools for Content Management and Distribution Content management and distribution tools vary depending on the deployment mode of the report server. Report Manager is used to view and manage report server items and operations on a native mode report server. In SharePoint integrated mode, you view and manage report server items and operations from the application pages on a SharePoint site. User Tasks and Requirements Limit content management and distribution responsibilities to a small group of trusted users. These tasks require a good understanding of Reporting Services features and of the role-based authorization model that determines all user access to report server items. You should also understand authentication and data source fundamentals so that you can manage data sources and make informed choices about report processing options. Permissions for managing content on a native mode report server are granted through the Content Manager and System Administrator roles. To manage content on a SharePoint integrated mode report server, you must have

sufficient permissions on the SharePoint site. For more information, see Granting Permissions on a Native Mode Report Server and Granting Permissions on Report Server Items on a SharePoint Site. Special Considerations for Content Management If you are using Windows Vista or Windows Server 2008, there are some additional steps to enable local administration of the report server, and you must configure Report Manager for local administration. For instructions, see How to: Configure a Report Server for Local Administration on Windows Vista and Windows Server 2008 and How to: Configure a Report Server for Local Administration on Windows Vista and Windows Server 2008. Using Custom Tools and Approaches All of the applications and tools that are included in a Reporting Services installation use the public programmatic interfaces. The tools cannot be extended, but you can replace any tool with a custom application that performs equivalent operations with a custom graphical interface or extra features that you provide. You must know how to develop programs that use Web services and Windows Management Instrumentation (WMI) interfaces. For more information, see Developer's Guide and Technical Reference. Planning for Browser Support :-

In Reporting Services, you use a Web browser to view reports and run Report Manager. Not all report functionality is supported by all browsers. This topic describes the browser requirements for Report Manager, feature availability for the supported browsers, authentication requirements, script requirements, and alternative steps and approaches for working around browser supportability issues. Browser Requirements for Report Manager To run Report Manager and use Report Manager to view reports, you must use Microsoft Internet Explorer 6.0 with SP1 or Internet Explorer 7.0. Scripting must be enabled. The computer must be running a Microsoft Windows operating system. Note: Scripting is enabled by default. However, if you are using Internet Explorer, you can modify script settings in the Security tab of the Internet Options dialog box. In the Security tab, when you select the zone through which you access Report Manager (in most cases, this is the Local intranet zone), you can click Customize Level to enable or disable different types of script functionality.

Browser Requirements and Recommendations for Viewing Reports To view reports separately from Report Manager, you can choose from a variety of supported browsers. The following table describes feature availability for specific browser types.

Browser type

Description

Microsoft Internet Explorer 6.0 or Internet Explorer is recommended if you want to use all the available report 7.0 for Windows, with all service functionality. Although you can use other browsers to view a report, Internet packs applied and scripting enabled. Explorer for Windows is the only browser that is guaranteed to support the complete set of features for working with reports. The following features are not supported in third-party browsers:

Document map Searching within the report Zoom Fixed table headers The following additional features are not available when viewing reports in Safari:

Firefox, Netscape, Safari

The Calendar control that is used to select dates on a parameterized report that runs on a report server has been disabled for Safari. Users must type the dates that they want to use. Image source files that are retrieved from remote computers do not display correctly in Safari. The client-side print control used for printing HTML reports.

Note: If you are accessing a report server from a Macintosh computer, we recommend that you use Safari. Reporting Services does not support Internet Explorer 5.0 Macintosh Edition.

Authentication Requirements Browsers support specific authentication schemes that must be handled by the report server in order for the client request to succeed. The following table identifies the authentication types supported by each browser, the authentication scheme that each browser uses by default when connecting to a computer that runs a Windows operating system, and whether additional report server configuration is required to support authentication requests from that browser. Browser type Browser default

Supports

Server default

Internet Explorer

Negotiated, Kerberos, NTLM, Negotiate Basic Negotiated, NTLM, Basic Yes. Default authentication settings work with Internet Explorer.

Firefox

NTLM

Yes. Default authentication settings work with Firefox.

No. Reporting Services does not support Basic authentication by default. You must enable Basic authentication and remove the default entries for RSWindowsNegotiate and RSWindowsNTLM. Alternatively, you can also Safari Basic Basic deploy and use a custom authentication module. For more information, see Configuring Authentication in Reporting Services and How to: Configure Basic Authentication in Reporting Services.

Script Requirements To use the report toolbar functionality with a report, you must configure your browser to run scripts. Scripts are used in the report toolbar to support zoom, search, refresh, and export operations. If scripting is not enabled, you receive the following message when you open a report: "Your browser does not support scripts or has been configured to not allow scripts to run. Click here to view this report without scripts". If you choose to view the report without script support, the report is rendered in HTML without report viewer capabilities such as the report toolbar and the document map. Reporting Services does not return an error if you are using a browser that is incompatible with the default HTML rendering extension. In many cases, Reporting Services suppresses features that do not work. In other cases, the feature may be available to the user, but does not function correctly. Each browser type handles report features differently. Before you deploy a report, you should always test it in the browser you plan to use. Note: The report toolbar is part of the HTML Viewer component and it appears at the top of every report that is rendered in a browser window. The report toolbar provides features that let you search the report for information, scroll to a specific page, adjust the page size for viewing purposes, and so on. For more information about the report toolbar or HTML Viewer, see HTML Viewer.

Using Other Browsers and Applications In some cases, you might be able to use other browsers that are not specifically listed in this topic. The following list provides tips and guidelines for excluding browser-dependent functionality, and provides suggestions for using alternative viewers:

Use a fully qualified report URL that includes parameters for specifying the rendering extension. Specifying an Excel rendering extension, for example, opens the report in the Excel viewer of the browser. Using the Excel rendering extension, or some other rendering extension that is not HTML, lets users use the features of the associated viewer to scroll pages, search the report content, and perform other tasks that would otherwise be performed by using the report toolbar. For more information, see Specifying a Rendering Format in a URL. Use a fully qualified report URL that includes parameters for suppressing the report toolbar. If you have a simple HTML-based report and you do not need the features in the report toolbar, you can suppress the toolbar so that only the report content is visible to users. For more information about suppressing the toolbar, see Using URL Access Parameters. Avoid browsers completely by using the file share delivery extension to save the report to the file system. Choose a rendering extension that is not HTML (for example, Excel or PDF). For more information, see File Share Delivery in Reporting Services. Create a custom application that uses the ReportViewer Web or Windows Forms control. For more information about these controls, see Reporting Services and ReportViewer Controls in Visual Studio.

Development (Reporting Services) :-

Find information that anyonedesigner, developer, analyst, or administratorrequires to create and develop Reporting Services solutions. Then, learn how to incorporate those Reporting Services solutions into your applications and Web sites. Designing and Implementing Reports Report Design Basics Designing and Implementing Reports Using Report Designer (Reporting Services) Designing and Implementing Reports Using Report Builder Tutorials More Querying and Defining Report Data Connecting to a Data Source (Reporting Services) Creating a Report Dataset Graphical Query Designer User Interface Working with Models

Working with Report Data Publishing Reports, Models, and Data Sources Publishing Reports to a Report Server Publishing a Report Model Deploying Models and Shared Data Sources to a SharePoint Site More Viewing, Exporting, Delivering Reports Viewing and Saving Reports Exporting Reports Comparing Interactive Functionality for Different Report Rendering Extensions Exporting to Microsoft Excel Developer's Guide Integrating Reporting Services into Applications Reporting Services Extensions Technical Reference Custom Report Items More Samples Considerations for Installing SQL Server Samples and Sample Databases More Scripting Script Samples (Reporting Services) Scripting Deployment and Administrative Tasks Scripting with the rs Utility and the Web Service More

Designing and Implementing Reports (Reporting Services) :-

Reporting Services provides two tools for report design: Report Designer in Business Intelligence Development Studio and Report Builder. Report Designer is a graphical interface for creating full-featured Reporting Services reports. You can access many different types of data sources and create highly customized reports. After your report is finished, you have access to the full Reporting Services report management functionality. To use Report Designer, you must know how to connect to and query a data source, but you do not have to know Report Definition Language (RDL). Report Builder is a client-side application that helps you build ad hoc reports. In order to use Report Builder, a report model for your data source must be designed and published using a Report Model project in Business Intelligence Development Studio. In Report Builder, you can then connect to the report model as a data source. Using a simplified interface, you can drag data fields onto report templates and then group, sort, format, and subtotal the data. You can click through the data in the report model to see automatically generated reports. You can export your reports to other applications, such as Microsoft Office Excel, and publish the reports or save them locally. You do not have to understand how to use SQL Server to use Report Builder. You can also create a report programmatically. For more information, see the Reporting Services Developer's Guide. In This Section Designing and Implementing Reports Using Report Designer (Reporting Services) Describes how to create a report using Report Designer in Business Intelligence Development Studio. Designing and Implementing Reports Using Report Builder Describes how to create a report using Report Builder. Related Sections Managing Reports Describes how to manage reports after they are published to the report server. Subscription and Delivery (Reporting Services) Describes how to create subscriptions and how to deliver published reports. Feature Reference (Reporting Services) Describes the user interface for the various Reporting Services tools. Troubleshooting (Reporting Services) Describes ways to troubleshoot report processing, publishing, and management. Security and Protection (Reporting Services) Describes ways to help keep report data and reports secure.

Designing and Implementing Reports Using Report Builder :-

Information workers throughout an organization need access to business data for timely and effective decision making. With a wide range of skills and expertise, these business users need an intuitive yet powerful tool to explore and find answers to critical questions without deep technical knowledge of corporate data sources. Report Builder allows business users to create their own reports based on a user-friendly report model created in Model Designer. Fully integrated with Microsoft SQL Server Reporting Services, Report Builder leverages the full reporting platform to bring ad hoc reporting to all users. Report Builder can run on any platform that supports the Microsoft .NET Framework 2.0. If the .NET Framework 2.0 is not installed on the client computer, users will be prompted to install it. Report Builder Users create reports with the Report Builder tool. The Report Builder interface is built on top of familiar Microsoft Office paradigms such as Excel and PowerPoint. Users start with report layout templates containing pre-defined data regions to build combinations of tables, matrices and charts. They navigate the reporting model to select report items and set constraints to filter the report data. The reporting model contains all of the necessary information for the Report Builder to automatically generate the source query and retrieve the requested data. The Report Builder also allows users to:

Add text and formatting to reports. Create new fields and calculations defined against the reporting model. Preview, print and publish reports. Explore data related to the content of their report. Interactive Data Exploration Report Builder reports enable users to interactively drill and explore data related to the content of their report.

Automatic generation of new drill down reports allows users to explore data along model navigation paths. Queries for navigation reports are generated on the fly, passing the context of the users current location. Users can keep drilling as long as there is a relationship to follow from the current item. Report Models Report Builder reports are built from report models that provide a business layer on top of the underlying data source. Report models include:

Business names for database fields and tables. Defined relationships between items in the data source. Logical groupings of model items. The report model aids users in navigating and selecting the desired information from the underlying data source. The Report Builder then uses the report model definitions to automatically generate the source query for retrieving the requested data. In addition, model elements can be secured so that users only see data they have permissions to see. Model Designer Model Designer is the user application for defining, editing and publishing report models. Modelers can launch the Model Designer and start designing directly against a data source or they can auto-generate the model based on a set of predefined rules as the starting point for model design. Model Designer can generate models against SQL Server 2000 or later databases and Oracle databases running version 9.2.0.3 or later. Note: Report models based on SQL Server 2005 or later Analysis Services databases are generated by using Report Manager or SharePoint Services.

Integration with Reporting Services Report Builder reports are just like any other Reporting Services report, once published, and leverage all of the viewing and management features of the reporting platform.

Report Builder is a ClickOnce Windows Forms application deployed from the Report Server for centralized management. Report Builder reports are published in the Report Definition Language (RDL). Reports are managed, secured and delivered by the same methods and APIs. Report Builder reports can be edited in the Report Designer to take advantage of Report Designers full capabilities such as nested data regions and expanded expression support. Can be launched from third party applications for integrated reporting. Report Manager Integration The user interface for helping to secure and manage models and model items is integratedReport Manager. Models are managed here similar to other Report Server items.

Model security and management through Report Manager. New management APIs for models. In This Section Topic Working with Report Model Query Designer Designing Ad Hoc Reports: How-to Topics Designing Ad Hoc Reports: Tutorials Description

Discusses how to create model-based reports in Report Designer.

Provides step-by-step instructions to complete tasks in Report Builder.

Provides AdventureWorks-based tutorials to learn how to use Report Builder.

Working with Models

Discusses how to use Report Model Designer to create and modify report models, and how to generate models using Report Manager.

Designing Report Models: How-to Topics Designing Report Models: Tutorials Publishing Models Working with Report Builder (Ad Hoc Reports)

Provides step-by-step instructions to complete tasks in Model Designer.

Provides AdventureWorks-based tutorials to learn how to use Model Designer.

Discusses how to publish models to the report server.

Provides Report Model Query Designer UI text help.

Working with Report Builder (Ad Hoc Reports)

Report Builder is a client-side application that information workers can use to create and design ad hoc reports. Using Report Builder, users can select data and design reports without having to understand how and where the data is stored. Nor do they need to know any complex programming languages in order to create reports. They simply need to be familiar with the business model of your data. Using Report Builder, users can create table, matrix, or chart reports. To get started, select a report layout template and then simply drag and drop the fields into the design area. The data can be manipulated by filtering, grouping and sorting, or working with formulas. You can specify parameters, such as the prompt parameter in filters. In addition, you can add images to your report layout and format your reports to use colors, fonts, lines, and different formats. Save reports to the report server, and then they can be managed just like any other report

on the server. Or, reports can be exported to the local computer as a different file type, such as a TIFF, PDF, Microsoft Office Excel, or HTML file.

Report Builder builds reports based on report models, referred to as data sources in Report Builder, provided by the model designer who is typically an analyst, database administrator, or database developer. A data source contains information about the data available in the database and the relationships between that data. When fields are dragged onto the design area, users are laying out the report and providing the information needed to retrieve the data at the same time. Report Builder is a ClickOnce Windows Forms application that is accessed from the report server for easy centralized management. Report Builder reports are published using Report Definition Language (RDL), which allows users to take advantage of Reporting Services full capabilities. Because Report Builder reports are saved as RDL, they can be opened and modified using the advanced programming capabilities in Report Designer. Report Builder reports are managed, secured, and delivered using the same methods and APIs used to manage, secure, and deliver Report Designer reports. In addition, Report Builder can be launched from third party applications for integrated reporting. When Report Builder is loaded on the client computer, a separate Help file is available for reference. This Help file discusses Report Builder concepts, and provides procedural and F1 help. Starting Report Builder

Report Builder uses a deployment technology called ClickOnce that is part of the Microsoft .NET Framework 2.0. ClickOnce enables you to easily install and upgrade Windows-based applications. ClickOnce applications can run in full trust or in partial trust mode. Report Builder runs in full trust mode. When Report Builder starts for the first time, users will see a security message asking them if they are willing to grant the application full trust to their computer using the permissions that are granted to the user. For example, a user with Administrator permissions will grant Report Builder Administrator permissions on the computer that is being used to start Report Builder. For more information about deploying ClickOnce applications, applying ClickOnce application security, or running ClickOnce applications in the Internet zone, see the "ClickOnce Deployment for Windows Forms Applications", "Security in Windows Forms Overview", or "Trusted Application Deployment Overview" articles on the Microsoft Developer Network Web site at www.microsoft.com/msdn. To verify that you have configured the report server and roles correctly, see How to: Configure Report Builder Access, Role Assignments, and Report Builder Role. Note: Do not pass user credentials in the URL when attempting to start Report Builder. Report Builder will not start or connect to the server using the supplied credentials and Internet Explorer does not support this syntax by default. For more information about Internet Explorer, see http://support.microsoft.com/kb/834489.

Using a URL to Start Report Builder By default, clicking the Report Builder button in Report Manager starts Report Builder. Because Report Builder is a Web application installed on your report server, you can also use a URL to start the application. To start Report Builder, use the following URL: http://<servername>/reportserver/reportbuilder/reportbuilder.application For the URL, <servername> is the name of the computer where the report server is located and reportserver is the name of the report server instance. For more information about virtual report server directories, see Configuring Report Server URLs. Additional Parameters The URL used to start Report Builder can also support the following parameters:

To automatically open a specific report, add the following to the URL: ?<reportpath> For example, use the following to open Report Builder and display a report called Quarterly Sales by Region located in your MyReports folder:

http://<servername>/reportserver/reportbuilder/reportbuilder.application?/My+Reports/Quarterly+Sales+By+R egion To automatically load a specific report model, add the following to the URL: ?model=<modelpath> For example, use the following to open Report Builder and load a report model located in the Models folder called Adventure Works: http://<servername>/reportserver/reportbuilder/reportbuilder.application?model=/Models/Adventure+Works To automatically load a perspective of a specific report model, add the following to the URL: ?model=<modelpath>&perspective=<perspectiveID> For example, use the following to open Report Builder and load a perspective called Employees within a report model called Adventure Works: http://<servername>/reportserver/reportbuilder/reportbuilder.application?model=/Models/Adventure+Works&p erspective=Gda518f2c-5598-418a-8bc4-bb9afe064a64 Note: You can find the perspective ID by opening SQL Server Business Intelligence Development Studio, selecting the perspective in list view, and then copying the General Category ID number in the Properties window. Alternatively, view the report model XML and search for the <Perspectives> tag. The perspective ID is listed within the <Perspectives> tag.

Starting Report Builder in SharePoint Integrated Mode If your report server is configured to run in SharePoint integrated mode, you can still use Report Builder. To run a report server in SharePoint integrated mode, the report server must be added to a SharePoint site or farm. For more information about configuring the report server for SharePoint integrated mode, see Configuring Reporting Services for SharePoint 3.0 Integration. After the report server is configured for SharePoint integrated mode, you must add the Report Builder Report content type to the SharePoint library. For more information, see How to: Add Report Server Content Types to a Library (Reporting Services in SharePoint Integrated Mode). After the SharePoint library is set up, you can start Report Builder by using any one of the following methods:

Open the New menu and click Report Builder Report. The Report Builder window opens and you select a model and report layout.

Point to the report (.rdl) file, click the down arrow, and select Edit in Report Builder. The Report Builder window opens with the model selected and the report displayed in design mode. Point to the model (.smdl) file, click the down arrow, and select Load in Report Builder. The Report Builder window opens with the model selected. By default, a table report is the report layout selected. View the report and then open the Actions menu and select Open with Report Builder. The Report Builder window opens with the model selected and the report displayed in design mode.

Creating and Working with a Report [Report Builder]

Report Builder is a client-side application that you can use to create and design ad hoc reports. Using Report Builder, you can select data and design reports without having to understand how and where the data is stored. Nor do you need to know any complex programming languages in order to create reports. You simply need to be familiar with the contents of your data and how it relates to the other data within the database. Using Report Builder, you can create table, matrix, or chart reports. To get started, select a report layout and then simply drag the fields or entities into the design area. The data can be manipulated by filtering, grouping and sorting, or working with formulas. You can specify parameters, such as the prompt parameter in filters. In addition, you can format your reports to use colors, fonts, lines, and different formats. Then, when you are ready to view the data in your report, simply run the report. In This Section Creating a Report [Report Builder] Discusses working with sources of data, entities, and fields, exploring the available data, and understanding the difference between designing and running a report. Designing a Report [Report Builder] Discusses the available report layouts, formatting report items, and working with filters, formulas and grouping and sorting of data. Running a Report [Report Builder] Discusses report rendering and working with the data in Report Builder run mode.

Creating a Report [Report Builder]

To create a report in Report Builder, you must first select a source of data from any report server or SharePoint library that is available to you. A data source contains the information necessary to access the underlying database, information about how the database is structured, and descriptions of the data contained within it. After you have selected your data source, you can view the contents of the data source and begin to select the data that you want to display in your report. In This Section Choosing a Data Source [Report Builder] Discusses data sources and how to select them. Working with Entities and Folders [Report Builder] Discusses entities and folders, and how to work with them. Exploring the Primary Entity and Its Related Data [Report Builder] Discusses how to view the primary entity's fields and its related entities. Working with Fields [Report Builder] Discusses how to select and group fields. Understanding the Design Area [Report Builder] Discusses data regions and text boxes on the design area. Understanding Report Layout and Rendering [Report Builder] Discusses the differences between report design and viewing a report. Understanding the Report Server [Report Builder] Discusses the report server and how Report Builder interacts with the report server. Choosing a Data Source [Report Builder]

A data source is a metadata description of the data contained in the underlying database plus the connection information used to access the database. Data sources can be found on a report server or in a SharePoint library on a report server running in SharePoint integrated mode. To design and run a report, you need to select a data source when you create a new report. A report can be linked to only one data source; however, the same data source can be used to create multiple reports. Note: To access and store data sources on a SharePoint site, your report server must be configured for SharePoint integration. If you are unsure about your report server configuration, contact your database administrator.

A data source contains multiple entities, such as Products, Employees, or Customers, and folders. Entities can contain numerous fields and are typically related to other entities. For example, a Customer entity might have fields such as Name, Address, Contact Name, and Phone Number, and have a relationship to another entity called Sales Orders that contains information about the sales orders placed by each customer. Folders contain additional entities. For more information about working with entities, see Working with Entities and Folders [Report Builder]. A data source is created by the person in your company who set up Report Builder, typically a database administrator, developer, or analyst. This person assigns permissions to the data source that exists on a report server or within a library, which allows you and others within your organization to use it. Report Builder supports data sources that connect to SQL Server 2000 and later databases, Oracle databases running version 9.2.0.3 or later, or a SQL Server Analysis Services cube. Working with Entities and Folders [Report Builder]

When the Report Builder window is opened, all the contents of the selected data source appear in the Explorer pane on the left. Entities contain fields, while folders contain entities. For organizational purposes, the person who designs the data source for you might create folders and then add entities to these folders. You can explore the contents of the data source by clicking the entities and folders. Entities and folders appear in the Entities area of the Explorer pane. When you click an entity, the fields contained in that entity appear in the Fields area of the Explorer pane. When you click a folder, the entities contained within the folder appear. You can work with these entities just like any other entity listed. To add an entity to the design area, you can drag the entire entity or double-click it. When you add an entity to the design area, a default set of fields are added and the corresponding check boxes for these fields are automatically selected in the Fields list. Properties set in the data source determine which fields are added. To remove fields from the design area, clear the check boxes. Until you drag a field or an entity to the design area, all the available entities and folders are visible. Dragging a field or entity to the design area starts the report building process. The entity that you select or the entity from which you selected a field becomes the primary entity. After the primary entity is selected, entities are rearranged to show their relationships to the primary entity and each other. For more information about the primary entity, see Exploring the Primary Entity and Its Related Data [Report Builder]. Advanced Mode When you begin to create your report, the Explorer pane simply displays each entity that is available for the report and the other entities that are related to the available entities. In Advanced Mode, the Explorer pane shows additional relationships between the entities that are not typically displayed. These relationships allow you to build complex queries. When you click the Advanced Mode button, three additional types of roles are displayed:

Reverse roles. Reverse roles show the relationship back to the entity from which you just came. For example, from the Customer entity, you can navigate to the Sales Orders role and from the Sales Orders role, you can navigate to the Customer role.

Lookup entities. A lookup entity is a role that contains only one field of interest for use in reports. Instead of requiring you to navigate to this entity every time you want to add the field to your report, the person designing the data source changes the properties on the entity so that this one field appears in the Explorer pane as a field within the Fields list of the parent entity when the Explorer pane is in default mode. When the Explorer pane is in Advanced Mode, the lookup entities are displayed as roles. For example, the Product SubCategory entity in the AdventureWorks data source sample is a lookup entity; in default mode, the Product SubCategory Name field appears as a field within the Product entity. When the Explorer pane is in Advanced Mode, Product Subcategory is displayed as a role of the Product entity. Entities that inherit from the direct ancestors of the selected entity but are not a direct ancestor of the current entity. When an entity inherits from an ancestor of the current entity but is not itself a direct ancestor of the current entity, the role is displayed in Advanced Mode with an "As" added to the beginning of the role's name. For example, in the AdventureWorks model, you can navigate from the Customer entity to the Store Contacts as Customer role; from this role, navigate to the Individuals role. As Store is listed as a role. Both the Store and Individuals entities inherit from the Customer entity; however, the Store entity is not a direct ancestor of the Individuals entity therefore the Store role is displayed as "As Store".

Exploring the Primary Entity and Its Related Data [Report Builder]

When you drag a field, a set of fields, or the entity itself to the design area, the entity becomes the primary entity. The primary entity provides the context for the report. For example, suppose you want to create a report that shows how much income your company has generated in the past month. After reviewing your data source, you select the Ship Date and Sum Total Due fields from the Sales Order entity and drag them to the design area. The Sales Order entity becomes the primary entity. The primary entity provides a context for the report. This context provides Report Builder with the information that it needs to retrieve the data stored in the underlying database when you run the report. Now that the report has been placed in a context, Report Builder no longer displays entities that are not related to the primary entity. For example, when you add the Ship Date and Sum Total Due fields to the design area, only those entities that relate to Sales Order are listed in the Entities area of the Explorer pane. Sales Order appears in bold and the related entities, such as Sales, Customer, Sales Person, and Territory, are nested beneath the Sales Order entity. To move between the primary entity and its related entities, click the entities. When you drag fields or entities to the design area, the entity names appear in bold. Changing the Primary Entity Based on the fields and entities that you drag to the design area, the primary entity might change. Primary entity changes occur when you drag a field that contains a single value from a related entity and drop it to the right of the primary entity fields in the design area. Using the previous example, suppose you add the Sales ID entity from the Sale entity to the design area. When you add this field, the primary entity changes from Sales Order to Sale. This change in primary entities allows you to see all the information about the Sale entity that you might want to add to your report. The Sale entity provides the new context for the report.

Relationships Between Entities Entities can have a to-one relationship or a to-many relationship with other entities within a source of data. For example, there is a to-one relationship between the Product and Product Model entities. For every product there is a product model. The relationship between the Customer and Sales Orders entities is an example of a to-many relationship. For every customer there can be multiple sales orders. Related entities, known as roles, are indented below the selected entity. This allows you to navigate to other entities that are related to the selected entity. Working with Fields [Report Builder]

A field contains the data that can be added to the report layout. When you select an entity, the fields contained within that entity are displayed in the Fields area of the Explorer pane. To work with fields directly, you can add fields to the design area by dragging the field name or by double-clicking the field name. To work with a group of default fields, you can drag an entity to the design area. The default fields associated with that entity are added to the design area. For example, if you add the Employee entity of the AdventureWorks model to your report, the following fields are added to the design area: National ID Number, First Name, Middle Name, Last Name, and Email Address. Using the fields and entities available to you, you can customize the information displayed in the report. You can:

Drag and drop fields to almost any location within the report layout, in the order that you specify. Format a field so that the contents appear the way you want them to. Filter on the contents of any combination of fields. Sort the report data by one or more fields in ascending or descending order. Search for fields within the data source and within the current entity. Edit a field's formula. Create new fields. Field Types Fields can contain two types of values: single values and totals over a set of values (also known as aggregates). For example, Last Name and Unit Price are single values, while Total Sales is an aggregate, that is, a total value based on the sum of a set of values. Report Builder uses the following field types: Text, Number, DateTime, Time, Money, Aggregate, Image, and Boolean. You can create your own fields by defining formulas for them. For example, you can create a field that represents the sum of three other fields that appear within the report. When you create the field, you define the formula that tells the report server to add the specified fields together and display the result in the field you just created.

The order of the fields appearing in the Fields area of the Explorer pane is determined by the data source. Typically, the most frequently used fields will be toward the top of the list. New fields that you create are displayed at the top of the list. Both single value and total fields can have variations. A field variation is a field that contains data that is based on the top-level field. For example, the Product entity contains a Sell End Date field. This field has variations nested below it such as Sell End Day, Sell End Month, Sell End Year, and Sell End Quarter. These fields, called field variations, all contain data based on the Sell End Date field. Field Groups As you drag fields to the report layout, Report Builder creates groups in which to display the fields. You can see the field groups by selecting the report layout. The groups that Report Builder creates are based on the relationships between the fields. You can modify how the fields are grouped by moving them around in the report layout. Note: Adding fields to the report layout individually will give you a different set of results than when adding fields to the report layout as a group. When building your reports, you should be aware of how this affects your report structure and query.

Below are some basic rules that Report Builder uses to group fields:

When any field is dragged to the left edge of the table data region within the design area, it becomes a separate group. When a field is dropped to the right side of the design area, it is grouped into the grouping to the immediate left. When an aggregate field is dropped, totals are automatically displayed in all groups. If you want to add a field to a specific group, drag the field to a position within the group or onto the group tab that appears above the group. Field Icons Icon Text Number Type Description Indicates a field where the data is text; for example, the word "Yes." Indicates a field where the data is a single numeric value; for example, the number 5. Indicates a field where the data is a date and/or a time value; for example, 4/3/2005 or Date/DateTime Friday, October 18, 2009 12:09 PM. Fields that contain DateTimeOffset CLR data type values appear in the Fields list as date time

fields. Time Money Indicates a field where the data is a time value displayed as text; for example, 07:32:25. Indicates a field where the data is a currency value; for example, $782.95. Indicates a field where the data is a single numeric value that represents a calculation on a set Aggregate of numbers. For example, the total sales amount for 25 sales people is calculated by adding up the sales figure for each of the 25 sales people and the sum total is displayed as a single numeric value. Indicates a field where the data is a true/false or yes/no value; for example, the Yes/No value in a column that indicates whether a specific product has been discontinued. Indicates a field where the data is an image. For example, suppose your database contains Image images of each of your products. When these images are included in your data source, this icon is displayed with the field name.

Boolean

Understanding the Design Area(Report Builder):-

The Report Builder design area consists of a report layout template, text boxes, and images. There are three types of report layout templates: tables, matrixes, and charts. When you create a new report, a report layout and text boxes are added to the report page in the Report Builder design area. In addition, you can add images to the report within the design area. Report Layouts Report layouts are report items that display data when you run the report. Each report layout has areas where you drag the selected fields and entities. The drag-and-drop area is displayed on the design surface as a box with text indicating that fields can be dragged and dropped to that location. If fields already exist in the report layout, you can drop fields and entities before, after, and between fields in columns and above, between, and below fields in rows. The report layout, and rows and columns within the report layout, can all be resized. Report Builder inserts only one report layout for each report. The following information describes the different types of report layouts available in Report Builder. Table

A tabular report layout template presents data in a row-by-row format. You define the number of columns in the report when you add the fields and entities to the report. When you run the report, rows are added to accommodate the actual data. You can add groups to table report layouts, which organize data by selected fields or formulas. For more information about working with tables, see Working with Tables (Report Builder).

Matrix

A matrix report layout template presents data in an intersecting format, with totals displayed in the center. It is also known as a cross-tab report. When you run the report, the number of columns and rows expands to accommodate the actual data. Columns and rows can be nested within other columns or rows. You can add groups to matrix report layouts, which organize data by selected fields or formulas. For more information about working with matrices, see Working with Matrices (Report Builder). Chart

A chart report layout template presents data graphically. Some examples of supported chart styles include bar, pie, and line charts. For more information about working with charts, see Working with Charts (Report Builder). Text Boxes In addition to report layout templates, the design area contains text boxes. Text boxes are used for static text. By default, a title text box is displayed but, depending on the report layout selected, additional text boxes might appear as well. Text wraps, and the text box expands downward to accommodate the text entered. You can change the formatting properties of the text box, and of the text within the box. For more information about working with text boxes, see Working with Text Boxes [Report Builder]. Images In addition, images, such as company logos, can be added to the report in the design area. For more information, see Working with Images [Report Builder]. Understanding Report Layout and Rendering [Report Builder] :-

In Report Builder design mode, you design your report by placing entities, fields, and text boxes in the design area, applying filters, grouping and sorting the data, and formatting the data within the report. When you are ready to preview your report, you click the Run Report button. You can run your report as often as you like while you continue to design the report. When you are satisfied with your report, you can save the report to the report server where other individuals with the appropriate permissions can view your report. Designing the Report When you select your data source and report layout in the Getting Started pane, a basic report structure appears in the Report Builder design area. This report structure consists of a report layout and text boxes. You can add additional text boxes to the report and you can move them around on the report page. Text boxes provide an area where you can enter titles for the report and any additional text that you want to add. The report layout is the area where the data is displayed. Depending on the report data, the body of the report can occupy a page or hundreds of pages when you run the report.

As you drag selected fields onto the report layout, the data is represented by 'xxxxxxx', '0', and '1/1/2008'. This is because you are designing the report and not viewing the actual data. When you run the report, the data is retrieved and combined with your report layout. Note: Adding fields to the report layout individually will give you a different set of results than when adding fields to the report layout as a group. When building your reports, you should be aware of how this affects your report structure and query.

The fields and entities you add to the report layout, and any text, formatting, formulas, or filtering that you apply to the data within the report, create what is called a report definition. A report definition is a file that contains information about the data source you selected, the report layout you have designed, the fields that you added to your report, and the formatting information of the data and text boxes. When you save your report, you are storing the report definition as a Report Definition Language (RDL) file on the report server. You can also save the report definition to your local computer. Running the Report In Report Builder, you can run, or render, the report to see the data from the underlying database displayed in the report layout. Switching between Report Builder design mode and run mode allows you to adjust the design of the report and see the results immediately. When you run a report, the report server combines the report definition file with the data from the data source and renders the report. Understanding the Report Server [Report Builder]

When you open Report Builder, or run your report, you are working with the report server. The report server is the main component of Reporting Services and consists of two parts: a Web service and a Windows service. The Web service provides Report Builder with access to the report server. The Windows service provides report scheduling and delivery services. You use both services when designing, saving, running, managing, and publishing your reports. The report server processes report requests and retrieves report properties, formatting information, and data. The report server merges the formatting information with the data and renders the final report. The report server stores files and folders similar to a file system. However, items managed and stored by a report server are different than files on a file system. Report definitions can exist both as files on a file system and as report items on a report server. On a file system, the report definition that you create has a file extension of .rdl. When you create your Report Builder report, you are creating an .rdl file. When you save a report to the report server, you are publishing it, where it becomes an item stored on a report server. Once the report is published on a report server, your report can be retrieved from a report server database and presented to other users and applications as items in a report server folder. For more information about saving and sharing reports, see Saving a Report [Report Builder].

Understanding the Report Server in SharePoint Integrated Mode A report server can also be integrated with an instance of a SharePoint product or technology. When you configure a report server to run in SharePoint integrated mode, you can create, save, modify, view, and manage your reports from within a SharePoint library. When you modify your reports in a library, the change is stored in a SharePoint database and then copied to a report server database. The report server continues to process the report requests and retrieve report properties, formatting information, and data. The report server periodically synchronizes with Windows SharePoint Services and tracks information about the files it processes. For more information about running a report server in SharePoint integrated mode, see the "Reporting Services and SharePoint Technology Integration" and "Deploying Reports, Models, and Shared Data Sources to a SharePoint Site" topics in SQL Server Books Online. Report Builder functionality is the same, regardless of whether the report server is run in native mode or SharePoint integrated mode.

Once you have selected the source of your report data, you can begin working on your report. Working on a report encompasses several steps: deciding on the overall structure of your report; formatting and organizing the data; and working with the data to further refine the report's organization and display the specific information that you want to include. In This Section Working with Report Layouts [Report Builder] Discusses the available report layouts that you can use to structure your report. Formatting a Report [Report Builder] Discusses available formatting options such as bold text, lines, and colors. Working with Data [Report Builder] Discusses how you can work with the data to group and sort, filter, and apply formulas.

Working with Report Layouts [Report Builder] :-

Report Builder has three predefined report layouts from which to choose: table, matrix, and chart. A report layout is similar to a template in that it is a preset format that you use as the starting point for your report so that the format does not have to be re-created each time you create a new report. Each report layout provides an organizational structure that determines how your data is presented within the report. Before selecting a report layout, you should consider the data that you are using and the purpose of the report. For example, suppose you want to show how much your company has increased its market share over the past three years. You could use a matrix report to provide this information and show market increases over an extended period of time; but, to really make this data have visual impact, you would probably want to create a report using a chart instead.

Here's another example: suppose you want to create a report that shows the sales-to-date for each salesperson in your organization. You would probably choose the table report layout to create this simple report. Then, to help organize the content of the report, you could group salespeople by region. Working with a Report Layout To choose a report layout, select the Table, Matrix, or Chart option in the Getting Started pane. Then, you can begin to add data and text boxes to the layout. Handles

The width of the entire report automatically adjusts to accommodate the number of fields that you add. You can adjust the width of columns and the height of rows within the report layout by hovering on a cell or column edge and, when the pointer changes shape, click and drag to increase or decrease the size of the column or row. Adding Fields or Entities to a Report Layout After you select a layout, select the fields and entities from the Explorer pane and drag them to the design area. An I-bar appears at the insertion point. For more information, see Working with Fields and Exploring the Primary Entity and Its Related Data [Report Builder]. Grouping and Sorting Data in a report can be placed into groups, and then sorted in ascending or descending order. In the example above, the data was grouped by region. We could also sort each salesperson by last name from A to Z within in each region. For more information about grouping and sorting, see Grouping and Sorting Data [Report Builder]. Hyperlinks cannot be added to a report layout. In This Section Topic Description Describes the different areas of the table report layout and how to work with them. Describes the different areas of the matrix report layout and how to work with them. Describes the different areas of the chart report layout and how to work with them.

Working with Tables (Report Builder)

Working with Matrices (Report Builder)

Working with Charts (Report Builder)

Working with Text Boxes [Report Builder] Working with Images [Report Builder]

Describes text boxes and how to work with them.

Describes how to work with images in the report layout.

Working with Tables (Report Builder) :--

A table presents data row by row. Tables have a set number of columns but the number of rows in the table changes to accommodate all the data. Using a table is a way to quickly group information around a single idea. For example, suppose you are a sales manager and you want to create a report that tracks the sales record for each of the sales people that report to you. You would probably want columns that indicate the following information for each employee: EmployeeID, first and last name, the sales quota amount, the total sales year-todate amount, and the sales region. Because you have more than one sales person assigned to specific regions, you might want to group the data in your report by Region. The number of rows expands to accommodate the number of sales people that report to you. Your report design might look similar to the following image.

When you run the report, the report looks similar to the following image.

Working with Matrices (Report Builder) :-

In a matrix report, data is arranged into columns and rows. The number of rows and the number of columns changes in a matrix report depending on the data returned. A matrix can have dynamic columns and rows and static columns and rows. Matrices provide functionality similar to cross-tabs and pivot tables. When the report runs, dynamic columns expand across the page for as many columns as there are groups. Dynamic rows expand down the page. The data that appear in the report are summary values of data based on the intersections of columns and rows. For example, suppose you want to create a report that displays the quarterly sales for the past year for customers in the Northwest sales territory. You would probably add the following fields to your matrix design: Territory, Customer Name, Ship Year, and Sum Total Due. To return just the data for the Northwest Territory, you would also need to apply a filter. Your report layout design looks similar to the following image.

When you run this report, it looks similar to the following image.

Nesting Dynamic Columns and Rows You can add multiple dynamic columns and rows to your matrix report. Dynamic columns and rows are used to group data by field. When you add a new dynamic column or row, the new header is nested within the original header. When you run the report, the new header is repeated within the original header. For example, suppose the Ship Quarter field is added to the matrix report in the previous example. When the report is run, four quarter columns are nested below each year column similar to the following image.

Working with Charts (Report Builder) :-

A chart is a graphical representation of the data in a report. Displaying data as a chart is visually appealing and makes it easy for users to see comparisons, patterns, and trends in the data. For example, instead of having to analyze several columns of data in a table or matrix report, you can see at a glance whether sales are decreasing or increasing over the past three quarters, or how year-to-date sales compare for the past three years. In Report Builder, you can select from a variety of chart types and change a chart's style to include different colors, symbols, and three dimensional (3-D) effects. Note: The Chart control used in Reporting Services is licensed from Dundas Software. For more information about charting functionality available from Dundas Software, visit the company Web site at www.dundas.com.

Chart Data Report Builder charts use three axes to group the data: Value, Category, and Series. Charts typically have two axes used to categorize and measure the data: a category (x) axis and a value (y) axis. The y-axis is usually the vertical axis and contains the data from the Value tab. The x-axis is usually the horizontal axis and contains the categories from the Category tab. The points on the resulting chart contain the data series from the Series axis. The Series axis is called the (z) axis. Pie and doughnut charts do not have axes. To display the axes areas, click the chart first. A chart report layout appears similar to the following image.

To add data to the chart layout, drag the fields that you want from the Explorer pane to the appropriate group. To better understand how these different groups behave, it might be helpful to compare a chart layout to a matrix layout. The fields in a Value group are the equivalent of static rows or columns in a matrix layout. The fields in a Category group are the equivalent to dynamic column groups in a matrix layout. The fields in a Series group are the equivalent to dynamic rows in a matrix layout. Value Group

The Value group is used to determine the size of the chart element for each category group. For example, a Values field determines the height of a column in a column chart or the size of a slice in a pie chart. When you design a chart report, you need to add at least one field to the Value group. Value groups are static in charts. If you add only one field to the Value group and you do not add a field to the Series group, only a single chart element is displayed. If you add multiple fields to the Value group, a chart element is displayed for each value. If there are multiple fields in the Value group, the chart legend displays the name of each value. Typically, data is grouped by category in a chart. If you are grouping your data based on category, you must use an aggregate field in the Value group. If you are grouping your data based on series, you must use an aggregate field in the Value group also. If you are not grouping data because you have only one field in the Category group, you do not need to use an aggregate field in the Value group. Category Group

The Category group is used to group your data. The name of each field is used to label the chart elements. For example, in a column chart, the name of each field in the Category group is placed on the x-axis of the chart, one for each set of columns. You can nest categories. When you drag multiple fields on to the Category tab, each category is nested within another category. For example, in a column chart that displays products by model, the first category group would be model, and the second category group would be product. The column chart would display groupings of products by model on the x-axis. Category fields are dynamic.

Series Group

The Series group is used to add an additional dimension to the data in your report. For example, in a column chart that displays sales by product, you can add a field to the Series group to display sales by year for each product. You are not required to add a field to the Series group; it is optional when designing a chart. If you do use a Series group, the name of the group is placed in the legend of the chart. Series groups are dynamic. In This Section Topic Choosing a Chart Type [Report Builder] Formatting a Chart [Report Builder] Choosing a Chart Type [Report Builder] :Description Describes the types of charts that available in Report Builder. Describes the formatting options that are available for charts.

Report Builder supports the following chart types: area, bar, column, doughnut, line, and pie. In This Section Area Charts [Report Builder] Describes area charts. Area charts display data as a set of points connected by a line, with a filled-in area below the line. Bar Charts [Report Builder] Describes bar charts. Bar charts display data as sets of horizontal bars. Column Charts [Report Builder] Describes column charts. Column charts display data as sets of vertical columns. Includes information about hybrid column/line charts. Doughnut Charts [Report Builder] Describes doughnut charts. Doughnut charts display data as percentages of the whole. Line Charts [Report Builder] Describes line charts. Line charts display data as a set of points connected by a line. Pie Charts [Report Builder] Describes pie charts Pie charts display data as percentages of the whole.

Area Charts [Report Builder]

An area chart emphasizes the magnitude of change over time. The series are displayed as a set of points connected by a line, with an area filled in below the line. Values are represented by the height of the point as measured by the y-axis. Category labels are displayed on the x-axis. Area charts are typically used to compare values over time. There are three types of area charts: area, stacked area, and 100% stacked area. Area An area chart displays the trend of values over time or categories. By displaying the sum of the plotted values, an area chart also shows the relationships of parts to a whole. The series are displayed as individual straight lines with a filled-in area below the line. The height of each data point is determined by its value. Chart area Description Required. The values in a value series determine the height of the lines in that series. Value labels appear on the y-axis. Each value series appears as an individual area. Optional. Categories are displayed as labels on the x-axis. Multiple groups are nested. In area charts, categories are typically time-related. Optional. Series are displayed as individual areas in the chart. Each series is also displayed in the chart legend.

Values

Category groups Series groups Note:

In some area charts, the areas for some value series may be obscured by areas for other value series. To avoid this, select a stacked area chart or 100% stacked area chart, or add three dimensional effects to the area chart.

Stacked Area A stacked area chart displays the trend of the contribution of each value over time or categories. The series are displayed as individual straight lines with a filled in area below the line. Each area is displayed stacked on top of the area below it. The height of the uppermost line is based on the total value for each category. Chart area

Description

Required. The values in a value series determine the height of the lines in that series. The height of the Values first series is based on the value of each data point in the series. The height of additional series is based on the values of the data points in the series plus the values of the data points in the series below it.

Value labels appear on the y-axis. Category groups Series groups Optional. Categories are displayed as labels on the x-axis. Multiple groups are nested. In area charts, categories are typically time-related. Optional. Series are displayed as individual areas in the chart. Each series is also displayed in the chart legend.

100% Stacked Area A 100% stacked area chart displays the trend of the percentage each value contributes over time or categories. The series are displayed as individual straight lines with a filled in area below the line. Each area is displayed stacked on top of the area below it. The height of each data point is based on a percentage of the total of all values for the category. The height of the uppermost line is always the full height of the chart. Chart area Description Required. The percentage of the values in a value series determines the height of each data point. The y-axis shows a value of 0 to 100. Value labels appear on the y-axis. Optional. Categories are displayed as labels on the x-axis. Multiple groups are nested. In area charts, categories are typically time-related. Optional. Series are displayed as individual areas in the chart. Each series is also displayed in the chart legend.

Values

Category groups Series groups

Bar Charts [Report Builder]:-

A bar chart displays comparisons among individual items. The series is displayed as sets of horizontal bars that are grouped by category. Values are represented by the length of the bars as measured by the x-axis. Category labels are displayed on the y-axis. Bar charts are typically used to compare values between categories. There are three types of bar charts: bar, stacked bar, and 100% stacked bar. Bar A bar chart compares values across categories. The series are displayed as individual bars, grouped by category. The width of each bar is determined by the series value. Chart area Description Required. The values in a value series determine the width of the bars in that series. Value labels appear on the x-axis. Each value series appears as individual bars.

Values

Category groups Series groups

Optional. Categories are displayed as bars or groups of bars on the y-axis. Multiple groups are nested. Optional. Series are displayed as individual bars in the chart. Each series is also displayed in the chart legend.

Stacked Bar A stacked bar chart displays the relationship of individual items to the whole. All series values are stacked in a single bar for each category. The width of each bar is determined by the total of all series values for the category. Chart area Description Required. The values in a value series determine the size of that series in the bar. Value labels appear on the x-axis. Each value series appears as a section within the bar.

Values

Category groups Series groups

Optional. Categories are displayed as bar on the y-axis. Multiple groups are nested.

Optional. Series are displayed as sections within bars in the chart. Each series also is displayed in the chart legend.

100% Stacked Bar A 100% stacked bar chart compares the percentage each value contributes to a total across categories. All series values are stacked in a single bar for each category. The width of each bar is always the full width of the chart. The series values are displayed as percentages of each bar. Chart area Description Required. The values in a value series are used to determine the percentage of the whole. This Values percentage determines the size of the series in the bar. The x-axis shows a value of 0 to 100. Each value series appears as a section within the bar. Category groups Series groups

Optional. Categories are displayed as bars on the y-axis. Multiple groups are nested.

Optional. Series are displayed as sections within bars in the chart. Each series also is displayed in the chart legend.

Column Charts [Report Builder]:-

A column chart displays data over a period of time or illustrates comparisons among items. There are three types of column charts: column, stacked column, and 100% stacked column. Column A column chart compares values across categories. The series values are displayed as individual columns, grouped by category. The height of each column is determined by the series value. Chart area Description Required. The values in a value series determine the height of the columns in that series. Value labels appear on the y-axis. Each value series appears as individual columns. Optional. Categories are displayed as columns or groups of columns on the x-axis. Multiple groups are nested. Optional. Series are displayed as individual columns in the chart. Each series is also displayed in the chart legend.

Values

Category groups Series groups

Stacked Column A stacked column chart displays the relationship of individual items to the whole, comparing the contributions of each value to a total across categories. The series values are stacked in a single column for each category. The height of each column is determined by the total of all series values for the category. Chart area Description Required. The values in a value series determine the size of that series in the column. Value labels appear on the y-axis. Each value series appears as a section within the column.

Values

Category groups Series groups

Optional. Categories are displayed as columns on the x-axis. Multiple groups are nested.

Optional. Series are displayed as sections within columns in the chart. Each series also is displayed in the chart legend.

100% Stacked Column A 100% stacked column chart compares the percentage each value contributes to a total across categories. This chart type displays all series values stacked in a single column for each category. The height of each column is always the full height of the chart. The series values are displayed as percentages of each column. Chart area Description Required. The values in a value series are used to determine the percentage of the whole. This percentage determines the size of the series in the column. The y-axis shows a value of 0 to 100. Each

Values

value series appears as a section within the column. Category groups Series groups

Optional. Categories are displayed as columns on the x-axis. Multiple groups are nested.

Optional. Series are displayed as sections within columns in the chart. Each series also is displayed in the chart legend.

Hybrid Column/Line Charts You can also create a chart that combines both columns and lines in a single chart. To do this, you create a column chart with multiple value series, then select the Plot data as line check box in the Format Data Series dialog box on one or more of the value series to display the data series as a line. Note: To open the Format Data Series dialog box, right click the tab of the item you want to convert, and select the Format Data Series option. In the Format Data Series dialog box, select the Plot data as line check box.

Doughnut Charts [Report Builder] :-

A doughnut chart illustrates the relationship of parts to a whole; however, it can contain more than one series. The value data is displayed as percentages of the whole. Categories are represented by individual slices. Doughnut charts are typically used to show percentages. Doughnut charts are functionally identical to pie charts. There are two types of doughnut charts: doughnut and exploded doughnut. Doughnut A doughnut chart displays data in rings, where each ring represents a data series. The category groups, series groups, and values series are displayed as doughnut slices. The size of the slice is determined by the series value as a percentage of the total of all values. Chart area Description Required. The values in a value series determine the size of the slice in the doughnut. Multiple value series appear as separate slices. Optional. Categories are displayed as individual slices in the doughnut. Each category is displayed in the chart legend. Optional. Series are displayed as individual slices in the doughnut. Each series is also displayed in

Values

Category groups Series groups

the chart legend.

Settings for the x- and y-axis are ignored for doughnut charts. If you have multiple category or series groups, the group labels are displayed in the chart legend. Exploded Doughnut An exploded doughnut chart is identical to a doughnut chart except that the slices are moved away from the center of the doughnut. This results in space between the doughnut slices. It can contain more than one data series. Line Charts [Report Builder]

A line chart shows trends in data at equal intervals. The series values are displayed as a set of points connected by a line. Values are represented by the height of the point as measured by the y-axis. Category labels are displayed on the x-axis. Line charts are typically used to compare values over time. There are two types of line charts: line and smooth line. Line A line chart displays trends over time or categories. Series values are displayed as individual straight lines, with a data point for each category. The height of each data point is determined by the value. Chart area Description Required. The values in a value series determine the height of the lines in that series. Value labels appear on the y-axis. Each value series appears as an individual line. Optional. Categories are displayed as labels on the x-axis. Multiple groups are nested. In line charts, categories are typically time-related. Optional. Series are displayed as individual lines in the chart. Each series is also displayed in the chart legend.

Values

Category groups Series groups

Smooth Line A smooth line chart displays series as individual lines. The lines are curved rather than straight. The height of each column is determined by the value. Chart area Description Required. The values in a value series determine the height of the lines in that series. Value labels appear on the y-axis. Each value series appears as individual lines.

Values

Category groups Series groups

Optional. Categories are displayed as labels on the x-axis. Multiple groups are nested. In line charts, categories are typically time-related. Optional. Series are displayed as individual lines in the chart. Each series is also displayed in the chart legend.

Pie Charts [Report Builder] :-

A pie chart shows the size of items that make up a data series, proportional to the sum of the items. It always shows only one data series and is useful when you want to emphasize a significant element in the data or show the relationship of parts to the whole. A pie chart displays value data as percentages of the whole. Categories are represented by individual slices. The size of the slice is determined by the value. Pie charts are typically used to show percentages. There are two types of pie charts: pie and exploded pie. Pie A pie chart displays the contribution of each value to a total. The category groups, series groups, and values are displayed as pie slices. The size of the slice is determined by the series value as a percentage of the total of all values. Chart area Description Required. The values in a value series determine the size of the slice in the pie. Multiple value series appear as separate slices. Optional. Categories are displayed as individual slices in the pie. Each category is displayed in the chart legend. Optional. Series are displayed as individual slices in the pie. Each series is also displayed in the chart legend.

Values

Category groups

Series groups

Settings for the x- and y-axis are ignored for pie charts. If you have multiple category or series groups, the group labels are displayed in the chart legend. Exploded Pie An exploded pie chart displays the contribution of each value to a total while emphasizing individual values. It is identical to a pie chart except that the slices are moved away from the center of the pie. This results in space between the pie slices.

Formatting a Chart [Report Builder] :-

Ideally, your report readers should be able to read a chart and understand the meaning of the data quickly. To help readers understand the contents of your chart, you can format all the elements that comprise the chart. For example, you can change the size of the chart, the appearance of the data series, the length and color of the axes, or the font used in the legend. In This Section Changing the Appearance of a Chart [Report Builder] Discusses how to change chart types, color schemes, and size. Working with a Chart Legend [Report Builder] Discusses chart legends. Adding Titles to a Chart [Report Builder] Discusses how to assign and format titles for the chart and its axes. Working with Chart Axes [Report Builder] Discusses how to display gridlines, tick marks, scale, and numbers and dates. Applying 3-D Effects [Report Builder] Discusses 3-D effects and how to apply them. Formatting a Data Series [Report Builder] Discusses the data series and how to format it.

Changing the Appearance of a Chart [Report Builder] :-

When you select the chart report layout option in the Getting Started pane, a column chart is displayed by default. You can change the chart type as soon as you start, or you can change the chart type later, after you have added your data. In Report Builder, you can change the type of chart you are using by right-clicking the chart and pointing to the Chart Type menu, then selecting from any of the chart types. If you decide to change the chart type after you have added data to the chart, you will not lose any of the fields that you have added. Report Builder automatically adds the fields to the new chart layout, in their assigned groups. Resizing a Chart Unlike tables and matrices, charts do not automatically resize to accommodate the data in the chart. In design mode, you can manually adjust the size of the chart by dragging the handles that are displayed around the chart

when it is selected. Depending on the quantity of data within your chart, resizing the chart will help make the data more readable. Changing Chart Colors Each chart type is displayed using a default palette that defines which colors are used within the chart. You can change the palette to make the chart more readable or so that it matches your final output. Suppose you are planning to use a chart within a presentation. You might want to change the chart palette so that it more closely matches the palette used in your presentation, or you might want the background of the chart area to match the report background so that the chart appears to 'float' on the report page. To select a different palette, change the background color of the plot area, or change the background color of the chart area, you need to use the Chart Type tab on the Chart Options dialog box. Working with a Chart Legend [Report Builder]:A legend is a box that explains the meaning of the patterns or colors that are assigned to the data series or categories in a chart. By default, a legend is displayed when you select the chart report layout option. You can hide, move, and change the layout of a legend. If you display a legend, you can format the contents, border, and background of a legend as well. Adding Titles to a Chart [Report Builder] :Adding titles, or labels, to the entire chart and to the x- and y-axes helps people understand what the chart is illustrating. A title is descriptive text that is automatically aligned to an axis or centered at the top of a chart. Titles cannot be rotated or occupy more than one line. You can format the title text, and align the text with the chart. Working with Chart Axes [Report Builder]:Typically, charts have two axes which are used to categorize and measure data. An axis is a line bordering the chart plot area used as a frame of reference for measurement. The y-axis is usually the vertical axis and displays data. The x-axis is usually the horizontal axis and displays categories. For example, a sales-to-date report by region would probably have the dollar amounts displayed along the y-axis and the name of each region along the x-axis. Pie and doughnut charts do not have axes. The labels along the axes are based on the field names and the data contained within your data source. They can be formatted but they cannot be changed. Gridlines Gridlines are regularly spaced horizontal and vertical lines in a chart that make it easier to view and evaluate data. There are two types of gridlines: major and minor. When added to a chart, major gridlines run along the axis at major interval values. When added to a chart, minor gridlines run along the axis at each interval. For example, suppose the values along the y-axis are between 0 and 50. The major gridlines are displayed at the 10, 20, 30, 40, and 50 values. If minor gridlines are added, they are displayed at each value between 0 and 50.

Tick Marks Tick marks extend from the gridlines on an axis across the plot area. Tick marks are small lines of measurement, similar to divisions on a ruler, that intersect an axis. You can adjust the interval between tick marks, their location in relation to the axis gridline, line style and color. Numbers and Dates Dates and numbers are displayed in the order specified by the data source. For example, if dates are ordered chronologically, dates in the chart appear in order by default. You can change the order by grouping and sorting your data. When you create a chart using fields that contain numbers or dates, and they appear on the x-axis in the chart, you can specify that the x-axis be treated as a numeric or time-scale values axis, also referred to as scalar mode. In scalar mode, only one grouping can exist on the x-axis. Scalar mode can be applied to line, column, bar, or area charts. In scalar mode, numbers are displayed in numeric order, from lowest to highest. If you sort the numbers so that they appear from highest to lowest, the y-axis is automatically moved from the left side of the chart to the right side of the chart. Dates In scalar mode, dates are displayed in chronological order at specific intervals. Report Builder initially sets the time-scale intervals according to the smallest difference between any two dates in the data. For example, if you have data for sales totals where the smallest difference between dates is three days, Report Builder presets the time-scale interval to days. When using dates in scalar mode, you can still adjust the time-scale. By default, the date before the first date in the data is used as the y-axis. For example, if your data returns dates between 1/1/2003 and 1/31/2003, the yaxis value is 12/31/2003. The last date in the data series is the last value on the x-axis, unless you select the Side margins option, which extends the last value displayed by one day. For example, if the last date with data is 1/30/2003, this is the last value displayed along the x-axis. Select the Side margins option and the x-axis is extended to 1/31/2003. Report Builder charts recognize dates as sequential numbers which are called serial values. By default, January 1, 1900 is serial number 1, and January 1, 2008 is serial number 39,448 because it is 39,448 days after January 1, 1900. Chart dates are handled as decimal fractions because time is considered a portion of a day. When specifying gridline values for your chart in scalar mode, enter 1 in the Show major gridlines Interval box to display the intervals as days and enter .5 to display time intervals as 12 hour periods. For other date intervals, divide by 1/24 and convert the fraction to a decimal, then enter the decimal in the Interval box. Scale

Scale is used to help put the data in perspective. You can specify the scale displayed on both axes to help make your chart more readable. For example, suppose your chart displays values between $20 and $120 along the yaxis. To make your chart easier to read, you might want to adjust the scale to display values between 0 and 150. By default, the minimum scale value is zero (0). If no maximum value is specified, the highest value returned in the data is used as the maximum value for the scale. Applying 3-D Effects [Report Builder]:Applying three-dimensional (3-D) effects to your chart gives depth to your charts. Using available options, you can emphasize different aspects of the chart. For example, if you want to emphasize a particular slice of an exploded pie chart, you can rotate and change the perspective of the chart so that your report readers notice that slice first. Charts can be rotated horizontally and vertically from -90 to 90 degrees. The perspective of the chart can be rotated 100%. In addition, you can change the shading of the data series; adjust the thickness of the chart background, and other styling options. These effects cannot be applied to text. Formatting a Data Series [Report Builder] :-

A data marker is a circle, cross, diamond, triangle or square in a chart that represents a single data point, or value, that comes from the data source. Related data markers in a chart comprise a data series. You can vary the colors, size, and styles of the data markers within the same data series. In addition, you can label each data marker in the data series with the actual data value. For example, suppose your data series contains three values: 15, 39, and 98. When you show the point labels, each value appears at the top of each respective chart data value. When formatting your data series, you can also change the label that appears in the legend for this data series. For example, if SumSales is displayed in the legend for a data series, you can change the text to Total Sales instead. Plotting a Data Series as a Line You can create a hybrid chart that displays both columns and lines in a single chart. To do this, create a column chart with multiple value series, and then select the Plot data as line check box on one or more of the value series to display that value series as a line. Working with Text Boxes [Report Builder] :A text box is a movable, resizable container for text that appears in a report layout. Text boxes can be moved anywhere within the design area. The text within a text box wraps automatically; however, you need to adjust the size of the text box to accommodate the text. Text boxes can only contain text and special effects cannot be applied; however, the text box and its contents can be formatted. Every Report Builder report layout contains the following two text boxes by default: Title and Filter description. The table report layout also contains a Total rows

textbox. In addition, you can add an unlimited number of additional text boxes to your report and move them anywhere within the design area. Hyperlinks cannot be added to a text boxes. Title Text Box By default, every report layout has a Title text box for you to type a title for the report. The text box is positioned above the main body of the report but you can move it to another location within the design area. By default, text is displayed as Arial, 18 point, bold, and left-aligned, but you can change these format options. Total Rows Text Box The Total rows text box only appears in a table report layout. The contents of the text box are automatically updated to display the number of rows returned in the table when the report is run. The text box is positioned below the table by default but you can move or delete it. The text within the box cannot be changed but you can change the formatting. Filter Description Text Box The Filter description text box appears in every report layout. The contents of the text box are automatically updated to display a restatement of the filter when you apply a filter to the report. The text box is positioned at the bottom of the report layout by default but you can move or delete it. The text within the box cannot be changed but you can change the formatting. If you do not apply a filter to your report, the filter description does not appear in the report when it is run. Working with Images [Report Builder] :Images, such as logos, can be inserted into your report layout and then resized and repositioned anywhere within the report design area. For example, you can add your company's logo to the top of the first page of your report. When you add an image to the report, the image appears in an image box similar to a text box. An image must be saved in one of the following file formats in order to be added to a report:

Windows Bitmap (.bmp) Joint Photographic Experts Group (.jpg) Graphics Interchange Format (.gif) Portable Network Graphics (.png) Java-Python Extension (.jpe) When inserted, the image is positioned in the top left corner of the report layout by default. If there are any other report items in the design area, they do not move to accommodate the image. You need to reposition the items when designing the report.

Note: Fields that contain images automatically display the image inside the table or matrix when the report is run. Image files cannot be inserted into a table or matrix. For more information about fields that contain images, see Working with Fields.

Formatting an Image You can resize an image, add padding around an image, and place a border around an image. Image backgrounds cannot be filled. Picture When inserted, the image appears in its original size; however, you can resize it by setting the sizing options in the Format dialog box and then using the image handles that appear when the image is selected. The sizing option you select determines how you can resize the image in the design area. Sizing Option AutoSize Result Displays the image proportionally at its original size. Displays the image from the top, left corner to the height and width dimensions specified by Clip dragging the image handles. If the image is larger than the area specified, only the portion of the image that fits in the area is displayed. Size to Fit (default) Fit Proportional

Displays the entire image within the height and width dimensions specified.

Displays the entire image proportionallybased on its original proportionswithin the height and width dimensions specified when dragging the image handles.

Alignment To help align the image to other report items in your report, you can add empty space, called padding, around the image. By default, the padding around an image is set to zero on all sides. Padding is specified in points. Border To help define the image and make it noticeable within the report, you can add a border to your image and change its color, width, and style. Formatting a Report [Report Builder] :-

Formatting the items in your report makes the report look more attractive and enhances its readability. You can format the text boxes, the images, the fields in the report layout, and the data while in design mode. Some items in your report are already pre-formatted for convenience; however, you can change the formatting already in place. In some instances, Report Builder automatically formats the information for you, for example, column heading text is automatically formatted as Bold, and every cell within the report layout has a cell padding of 2 points on each side. In other instances, the data source provides the formatting information for the contents of a field, for example, the person who designed the data source might assign a monetary format to fields that contain monetary values. In this case, when you drag the field to the design area, the monetary field displays placeholder data with a currency symbol and the appropriate number of decimal places as specified in the data source. You can change formatting options by selecting the item you want to format and then using the Format dialog box or the Formatting and Borders toolbars to make your changes. The formatting changes you make to the report are reflected in the design area. You do not need to run the report to see applied formatting. In This Section Formatting Numerical Data [Report Builder] Discusses how to format numbers and dates. Aligning Data, Text, and Images [Report Builder] Discusses how to align report data and text. Formatting Data, Text, and Images [Report Builder] Discusses how to format text options, such as font, font style, and size, within text boxes and the report layout, and how to format image data. Formatting Borders, Lines, and Gridlines [Report Builder] Discusses how to add borders and gridlines to text boxes and the report layout. Applying Background Colors [Report Builder] Discusses how to fill text boxes and areas of the report layout with background colors. Formatting within the Data Source Differences between computer culture and data source culture settings can cause confusing behavior when designing and running a report.

Formatting Numerical Data [Report Builder]:-

Numeric field data, including dates and monetary values, are formatted using the Number tab of the Format dialog box. The options displayed on the Number tab changes depending on the type of data contained within the cells that you are formatting. To customize the appearance of your numerical data, you can enter a valid .NET Framework format string. For more information about valid .NET Framework format strings, see the Microsoft Developer Network (MSDN). Note: If you find that formatting options you want to use are grayed out, it means that the field's data type, which is located in the data source, and the formatting options are not compatible. For example, if the field contains numeric values but the field's data type is "string", numerical data formatting options, such as currency or decimals, cannot be applied and the numerical formatting options are grayed out.

Using Decimals By default, Report Builder displays monetary, percentage, and decimal numbers to the second decimal place. Exponential numbers display six decimal places by default. However, up to 99 decimals places can be displayed. The decimal separator can be displayed as a period or a comma, depending on the locale settings of the data source. Adding a Thousand Separator To make numbers more readable, you can add a thousand separator. Depending on the locale settings of the data source, the separator is either a comma (,) or a period (.). Indicating a Monetary Value When formatting numbers as monetary values, a monetary symbol is automatically added. By default, the monetary symbol used is based on the locale settings of the data source. You can change the symbol used by typing a different symbol in the Symbol box on the Number tab. Formatting Negative Numbers By default, negative numbers are displayed in the following format: -1234.10 but you can change the format to (1234.10). Aligning Data, Text, and Images [Report Builder] :The contents of text boxes and the contents of cells within a table or matrix can be aligned vertically and horizontally. Contents can be horizontally aligned along the left, right or middle of the cell or text box, and vertically aligned along the top, middle or bottom of the cell or text box.

Padding can be applied to images, and the contents of text boxes and cells. Padding can help you to refine the alignment of an image, or a cell's or text box's contents. By default, text boxes and cells within the report layout have a padding of 2 points along each side and images have a default of 0 points. Padding can be increased up to 10 points. Padding can only be specified in points. Aligning Report Items You can drag and drop report items and use the Snap to grid option in the Page Setup dialog box to help you align report items on the page. By default, this option is selected. If you drag report items to a specific gridline on the design area and Snap to grid is selected, the left edge of the item is aligned to the gridline. Formatting Data, Text, and Images [Report Builder] :Font, font style, font size, color, and underline and strikethrough effects can be applied to text within a text box or a report layout cell. By default, report layout text is Tahoma, regular, and 8 points. The title text box is Tahoma, regular, 18 points by default. The Total rows and Filter text boxes, and any text box you add are Arial, regular, and 8 points by default. By using the Font tab of the Format dialog box, you can specify how the text should appear, for example bold, underlined and/or in red. Formatting Images Fields that contain images can be added to a table or matrix report layout. If you use an image field, the images appear in the report when the report is run. You can adjust the height and width of the images by dragging the cell borders to increase or decrease the size of the cell. Images, such as a logo, can also be inserted into a report layout. If you use an image in your report layout, you can adjust the height and width of the images by dragging the image handles to increase or decrease the size of the image. For more information about images in your report layout, see Working with Images. By using the Picture tab of the Format dialog box, you can specify how you want to resize an image, for example cropped or in proportion, and then resize the image within the report layout. Formatting Borders, Lines, and Gridlines [Report Builder] :Using the predefined border styles, you can quickly add a border around a cell, a group of cells, a text box, or an image. In addition, you can change the style, width, and color of the borders, lines, and gridlines that you add. To format borders and gridlines in a text box or report layout or around an image, use the Border tab in the Format dialog box. To format lines in a chart, use the Line tab in the Format dialog box. Applying Background Colors [Report Builder] :-

A solid color can be added to the background of a text box, or to a cell or group of cells within a report layout. By default, the background color is white; however, you can select a color from the Fill tab in the Format dialog box. On the Fill tab, the Sample area provides a larger sample of the selected color. Culture-Specific Formatting within the Data Source [Report Builder] :The data source that you are using to build your reports probably contains data formatting that is culture-specific. For example, number, date, and currency values are formatted differently according to your culture, and these formatting differences can be built into your data sources. The person designing the data source can apply a culture to the entire data source and also apply a culture to a specific attribute within the data source. For example, the Culture property for the data source can be German (Switzerland) but the DataCulture property for an attribute within the data source can be Japanese. The Culture property is used to apply data formatting that is culture-specific, unless the DataCulture property is assigned. In that case, the DataCulture property takes precedence when formatting attribute values. In addition, your computer probably has its own default culture settings. These computer culture settings tell your computer how to display your computer's time, date, and currency information. If the culture settings for your data source conflict with those on your computer, you might experience the following problems when designing or running a report:

When you design a Report Builder report, your local computer culture is used to format the sample data in the design area, except in instances where the DataCulture property has been set for an attribute within the data source. When you run a Report Builder report, the data source culture is used to format data for the entire report, except in instances where the DataCulture property has been set for an attribute within the data source. You can change local computer regional settings without changing your computer culture. When these regional settings are changed, the Report Builder design area reflects the changes. However, when the report is run, the changes are ignored. In the Filter Data and Define Formula dialog boxes, and in the parameter area displayed when running a report, your local computer culture and regional settings are used to display values and to interpret data that you type into the filter, formula, or parameter. Custom fields and complex formulas use the data source culture, even if they are based on an attribute whose DataCulture property has been set within the data source. They do not inherit culture from the attribute. A formula based on an aggregate attribute, where the only change is to add a filter or remove duplicates, is formatted using the attribute's DataCulture property. The display language and the culture settings used in Report Builder are determined by the culture and regional settings of your local computer. They are not affected by the language settings of the browser used to launch Report Builder.

Working with Data [Report Builder] :-After the data is added to the report, you might want to further refine the report's organization, perform new calculations on the data, and exclude the data that you do not want to appear in the report. In This Section Grouping and Sorting Data [Report Builder] Discusses how to group data, sort data in ascending or descending order, and apply page breaks. Working with Filters [Report Builder] Discusses how to exclude data using filters. Working with Formulas [Report Builder] Discusses how to create new fields, modify existing formulas, and use available functions. Working with Literals in Formulas and Filters [Report Builder] Discusses the use of literal values in formulas and filters. Working with Parameters [Report Builder] Discusses how to use and add parameters. Working with Totals [Report Builder] Discusses how to display and hide totals.

Grouping and Sorting Data [Report Builder]:Groups are used to organize data so that the report is displayed in a visual hierarchy and so that you can obtain subtotals. After the data is grouped, you can then sort the data within each group in ascending or descending order to make data easier to locate. For example, suppose you create a sales report that contains information about your customers, the sales territories that these customers are located in, the sales person for each sales territory, and the sales amounts. You can group the data by Sales Territory and then Customer to see total sales for each territory and each customer. Sorting on the sales territory and the sales person fields will make the data easier to read. Report Builder lists customers alphabetically within their respective sales territories and provides the sales totals for you. The data in the sales territory group can be sorted into alphabetical order, and then the data in the other groups can be sorted so that they appear in alphabetical order as well. In addition, you can sort on totals as well. For example, you can sort territories by the total sales for each territory. Grouping Data As you drag fields and entities to the design area, you are also organizing the data into groups. In Report Builder, groups are indicated by the group tabs that typically appear along the top edge of the report layout. Typically, the broadest group is placed along the outside edge of the report with the data getting more specific as you read across the report. Using the example above, the broadest group in common to the data appearing in the report is the Sales Territory, the most specific data is the customer and sales amount.

Two types of groups are created: Value groups and Entity groups. A value group is a group on a field. The field name appears in a value group tab. When the report is run, the value group returns a single instance of the group for each distinct value. For example, suppose you add the Country Name field to the report. The country name only appears once within the report. An entity group is a group on an entity. The entity name appears in an entity group tab. When the report is run, the entity group returns a single instance of the entity. For example, if you have a Territory group, each territory is listed only once within the report.

When grouping your data, note that:

You can create as many groups in the report layout template as you want. To add an item to a group or to change the current grouping, drop the field on the group tab. You can re-arrange the groups by dragging and dropping a group tab on another group tab in the report layout. When the group is the entity group for a field, the field is added to that group when it is dropped to the right side of the report layout template. If no entity group exists, a new group for the field is created. A new group for a field is created when the field is added to the left side of the report layout template. If the field is an identifying field for the entity, an entity group is created when you add the field to the left side of the report layout template. When you add an entity to the design area, Report Builder creates a group that uses the entity's name. Adding multiple fields from an entity to the design area also groups the fields using the entity's name. When you add a single-value field from a related entity to the right side of the report layout template, the field is added as an additional detail to the existing group. When you add an aggregate field (a field containing a total over a set of values) to the report layout template, the field becomes an additional detail to whichever group it is added. If there is a one-to-many relationship between two entities, the primary entity in the Explorer pane changes when you add the entity to the design area and then add the second entity. For example, if you add the Customer entity to the design area, the Customer entity becomes the primary entity in the Explorer pane. If you add the Sales Order entity to the design area, the primary entity changes to Sales Order in the Explorer pane.

If you want to create a value group within a particular field, select the field and drag it to the left of the original group. A new group is created that is named after the field. If you add one or more aggregate fields to the report layout template and there are no groups available to associate with the aggregate, a Total group is created. When a value or entity group is added to a query with only a total group, the total group is removed and the aggregate fields are added to the value or entity group. If all the value or entity groups are removed from the report layout, the aggregate fields revert to a total group. Sorting Data Data within each group can be sorted by any field in the group, or any field for which subtotals are displayed. Each group can be sorted by multiple fields. For example, suppose your report contains a First Name and Last Name field within the Customer Name group. If you sort Last Name from A to Z, individuals with the same last name will appear grouped together in the report but they will be listed in the order that Report Builder retrieves the data. If you also sort First Name from A to Z, individuals with the same last name will appear grouped together in the report but they will be sorted in alphabetical order by their first names as well. To sort the data in the report, use the Sort and Group dialog box. Select the group that contains the data that needs to be sorted, and then use the Sort by and Then by drop-down lists to specify a sort order for each field within the group. Allowing Readers to Sort Data within a Report By default, individuals who read your report can change how the data is sorted after running the report. After running the report, individuals reading the report can sort on a specific field using the up and down arrows displayed beside each column name. Clicking the sort arrows once sorts the containing group by that field in ascending order. Clicking the icon again sorts in descending order. Report viewers can sort rendered reports multiple fields by pressing and holding the Shift key while they click the sort icon. To disable this functionality, you can clear the Allow users to sort the report data when they view it check box in the Report Properties dialog box. Controlling Page Breaks, Headings, and Columns [Report Builder] :A page break divides a report into separate pages for viewing and printing. Page breaks determine how the content is fitted to a report page for optimal viewing in Report Builder run mode or when rendered on the report server. Adding page breaks also improves the performance of large reports when they are run and viewed in Report Builder or on the report server. A rendered page is displayed while the rest of the pages are rendered in the background. This allows you to begin viewing the initial pages of the report while waiting for additional pages to become available.

Page breaks can only be added before, after, and between groups. Page breaks between groups are not added to the report by default. To add them, select the Page breaks between groups check box in the Sort and Group dialog box. Then select which additional page break options you want to use. Displaying Report Headings By default, report headings on each page are always displayed regardless of how far you scroll down in the report. If you prefer, you can prevent this behavior by clearing the Fixed Headers check box in the Report Properties dialog box. Freezing Columns In tabular reports, you can freeze columns so that when you scroll across a report, the frozen columns always remain visible. You can control column freezing by using the column markers along the top of the report headings. You can freeze any continuous set of columns that includes either the left or right most column. You cannot freeze all columns of the report. To freeze a set of columns from the left most column, simply drag the column marker to the right. To freeze a set of columns from the right most column, drag the first column marker to the left side of the set of columns that you want to freeze. Then, drag the second column marker to the far right. Collapsing Columns and Rows In matrix reports, columns and rows are collapsed by default so that only group totals are displayed. You can expand column and row groups by clicking the plus sign (+) beside the group headings. If you prefer, you can prevent this behavior by clearing the Drilldown check box in the Report Properties dialog box. Working with Filters [Report Builder] :Filtering allows you to limit the data displayed in your report to just the data that you are interested in viewing. Suppose you want to run a report that displays all the sales for yesterday's date. You could create a report that lists all the sales and then group by the sales date but you would probably have to look through thousands of report pages in order to find yesterday's sales. Applying a filter specifying yesterday's date will return only yesterday's sales. In Report Builder, a filter is a set of conditions that are applied to the data at the data source level. Therefore, only the data that meets these conditions is included in the report. The rest of the report data is still available in the underlying database; it is just not included in the rendered report. In This Section Topic Working with a Filter Condition [Report Builder] Selecting a Comparison Operator for a Filter Condition [Report Builder] Description Discusses how to select the field that you want to use in a filter condition. Describes which comparison operators are available within a condition and between conditions.

Specifying Criteria for a Filter Condition [Report Builder]

Discusses the criteria in a filter condition and how to specify values.

Grouping Filter Conditions [Report Builder]

Discusses how to group filter conditions and nest a filter condition group within another filter condition group.

Working with a Filter Condition [Report Builder] :A filter condition is a statement that specifies the criteria Report Builder should use to determine whether the data is displayed in the report. To create a filter in Report Builder, you need to add at least one filter condition but you are not limited in the number of filter conditions that you can add. By using multiple filter conditions, you can create very complex filters. You can add, delete, and group filter conditions using different operators. You can even nest filter condition groups within other condition groups to achieve the results that you want. When the report runs, the filter is evaluated to determine if each instance of the data meets the criteria you specified in the filter. If the data meets the criteria, the data is added to the report. If the data does not meet the criteria, the data is not included in the report. Adding Filter Conditions When the Filter Data dialog box first opens, the entities and fields available in the report are displayed in the Explorer pane on the left. You can use any available entity or field to create your filter; the entity or field does not have to be displayed in the body of the report. A filter condition is composed of three parts: the field or entity name, the comparison operator, and the criteria. To add a filter condition to your report, drag an entity or field name to the filter area and specify a comparison operator and criteria. For more information about comparison operators, see Selecting a Comparison Operator for a Filter Condition [Report Builder]. For more information about specifying criteria, see Specifying Criteria for a Filter Condition [Report Builder]. After you add the filter condition to the filter area, you can move the condition around the filter area by selecting the entity or field name and dragging it. A filter condition can be moved between groups or it can be moved within the current group. When moved, filter conditions are added to the bottom of the group. For more information about grouping filter conditions, see Grouping Filter Conditions [Report Builder].

Logical Operators

As you add additional filter conditions to the filter area, a logical operator is displayed between each filter condition. Report Builder supports the And and Or logical operators. By default, the logical operator is And, but you can easily change it by clicking And and selecting Or. Filtering on Formulas You can use Report Builder's function capabilities to filter the entire filter condition as a formula. You can filter on formulas when you want to create a filter clause that requires the manipulation of the formula for the field or on other functionality supported in the Define Formula dialog box, such as aggregation levels or removing duplicates, and this functionality is not in the Filter Data dialog box. For example, suppose you want to include only products in your filter condition that have a Sell Start Date of earlier than 2003. You could edit the Sell Start Date field formula using an available Date function. To edit the field formulas in your filter, right-click the field name in the filter condition and select Edit as Formula. For more information about Report Builder functions, see Working with Formulas [Report Builder]. Prompting for Filter Values at Run Time Prompt allows individuals reading your report to control the content of the report without having to edit the report file. Suppose you create a sales report that displays detailed sales information by territory. Instead of selecting which territory to display in the report, you can select Prompt and then, when the user opens the report on the report server, they can select which territory to view themselves. To use the Prompt option, right-click the field or entity name in the filter condition and select Prompt. If you specify a specific value in the criteria text box, the report will run first using that value. Then, the person reading

your report can select a new value. If you leave the criteria text box blank, the person reading the report must select a value before the report runs. Note: When report readers view the parameter list, the values might not be sorted.

Selecting a Comparison Operator for a Filter Condition [Report Builder] :Comparison operators, such as equals, greater than or less than, are used to evaluate the filter condition for each instance of the entity to determine whether the data should be included in the report. Comparison operators are used with text, numeric, or date data. Equals and Not equals are used with Booleans and EntityKeys. By default, equals is displayed as the comparison operator but you can select from any of the other available options. The available options change depending on the data type of the field or entity added to the filter condition. Using the Not Option The Not option is used to indicate that only those items that do not meet the specified filter condition should be included in the report. For example, suppose you want to see the sales data for all countries except the United States. Instead of selecting all the available countries and listing them in your filter condition, simply use the Not option in the filter condition to state that Country field items should not equal the United States. The Not option can be used with any other available comparison operator. Filtering Empty or Blank Values Some fields or entities in your data source might reference tables in the underlying database that contain blank (" ") or empty (Null) values. For example, suppose your company sells bicycles over the Internet. One of the fields in the online sales order is an e-mail address field; however, customers are not required to complete this field when making a purchase. If the customer submits an e-mail address, that information is added to a field called emailaddress in a database table. If the customer does not provide an e-mail address, the emailaddress field might contain an empty or blank string value instead. Blank only applies to text fields, but empty applies to all data types. When creating and running your reports, the empty or blank information is included in the data returned unless you specifically exclude the data using a filter condition. When filtering empty values, use the Is Empty option. When filtering for blank strings, use the Is Blank option. If you want to filter on both empty and blank values, use the Is Blank or Empty option. Using Relative Dates Report Builder supports two types of relative dates in filters: relative date values and relative date ranges. Relative date ranges are specified using special comparison operators and return data for a range of dates. Date values are specified directly in the text box when indicating your criteria. For more information about relative date values, see Specifying Criteria for a Filter Condition [Report Builder].

Relative Date Ranges

Relative date range operators can be used with date/time fields only. The following ranges are supported. Name Description Returns data from the first day of the month to the current day. Example Suppose today is 5/16/06. Data returned falls from 5/1/06 to 5/16/06. Suppose today is 11/25/10 and this is the fourth quarter. Data returned falls from 10/1/10 to 11/25/10. Suppose today is 11/25/10. Data returned falls from 1/1/10 to 11/25/10. Suppose today is 12/18/09 and 12 days are specified. Data returned falls between 12/18/09 and 12/30/09. Suppose today is 12/18/09 and 12 days are specified. Data returned falls from 12/18/90 to 12/30/09, including today's date. Suppose today is 12/18/09 and 4 months is specified. Data returned falls between 12/18/09 and 4/18/10. Suppose today is 12/18/09 and 4 months is specified. Data returned falls from 12/18/09 to 4/18/10, including today's month. Suppose today is 12/18/10 and 2 years is specified. Data returned falls between 12/18/10 and 12/18/12. Suppose today is 12/18/10 and 2 years is specified. Data returned falls from 12/18/10 to 12/18/12. Suppose today is 6/15/07 and 2 months is specified. Data returned falls between 4/1/07 and 5/31/07. Suppose today is 6/15/07 and 2 months is specified. Data returned falls from 5/1/07 to 6/16/07.

To DateMonth

To DateQuarter

Returns data from the first day of the quarter to the current date.

To DateYear

Returns data from the first day of the year to the current date.

Next (n)Days

Returns data from today plus the number of days specified.

Next (n)Days (including today)

Returns data for the next specified number of days, including today's date.

Next (n)Months

Returns data from today plus the number of months specified.

Next (n)Months (including this month)

Returns data for the next specified number of months, including today's month.

Next (n)Years

Returns data from today plus the number of years specified.

Next (n)Years (including this year)

Returns data for the next specified number of years, including today's year. Returns data for the last specified

Last (n)Months

number of months, including the current month. Returns data for the last specified number of months, including the current month.

Last (n)Months (including this month)

Returns data for the last specified Last (n)Days number of days, not including today's date. Last (n)Days (including today) Returns data for the last specified

Suppose today is 6/15/07 and 5 days is specified. Data returned falls between 6/10/07 and 6/14/07.

Suppose today is 6/15/07 and 5 days is specified.

number of days, including today's date. Data returned falls from 6/10/07 to 6/15/07. Returns data for the last specified Suppose today is 6/15/07 and 1 quarter is specified. Data returned falls between 1/1/07 and 3/31/07. Suppose today is 6/15/07 and 1 quarter is specified. Data returned falls from 1/1/07 to 6/16/07. Suppose today is 6/15/07. Data returned falls between 1/1/06 and 12/31/06.

Last (n)Quarters

number of quarters, not including the current quarter. Returns data for the last specified number of quarters, including the current quarter. Returns data for all the days of the previous year. Returns data for the last specified number of years, including today's year. Returns data from all the days of the

Last (n)Quarters (including this quarter)

Last (n)Year

Last (n)Years (including this year)

Suppose today is 6/15/07 and 2 years is specified. Data returned falls from 6/15/05 to 6/15/07.

ThisMonth

current calendar month based on today's date. Returns data from all the days of the

Suppose today is 8/14/08. Data returned falls from 8/1/08 to 8/31/08.

ThisQuarter

current calendar quarter based on today's date. Returns data from all days of the

Suppose today is 8/14/08. Data returned falls from 7/1/08 to 9/30/08.

ThisYear

current calendar year based on today's date. Returns data for all the days of the same month last year. Returns data for all the days of the same quarter last year.

Suppose today is 8/14/08. Data returned falls from 1/1/08 to 12/31/08.

Same Last YearMonth

Suppose today is 8/31/09. Data returned is from 8/1/08 to 8/31/08. Suppose today is 8/31/09. Data returned is from 7/1/08 to 9/30/08.

Same Last YearQuarter

Specifying Criteria for a Filter Condition [Report Builder] :The filter criterion is the value to which all items within the field or entity is compared to determine if the data should be excluded from the report. For example, suppose you only want to view the sales data for France. You would probably create a filter condition where Country equals "France". When you run the report, all items contained within Country are compared to the value "France". If the item does not equal "France", it is not included

in the report. Depending on how your data source is set up, criteria can be specified using a variety of methods, including lists, text boxes, and calendars. Selecting Criteria from a List When using the in a list operator, all of the available items for the field or entity in the filter condition are displayed in a list. To select criteria from this pre-populated list, select the check box for each item you want to use in the filter condition. You can select as many items as you want. Pre-populated lists vary in length depending on the number of items within the entity or field and the defaults set in the data source. Creating a Pre-Filtered List

In some cases, a pre-populated list is not possible because the number of items displayed would make the list unmanageable. For example, suppose you add the Sales Order entity to your filter condition. Depending on the contents of the database, there could be millions of sales orders from which to choose. Listing each sales order in the list would be impractical. In situations like this, you are prompted to create your own pre-filtered list. Using this pre-filtered list, you can limit the number of items displayed within a pre-populated list. Then, just like any other list, you can select which items to add to the filter condition. For example, if the Sales Order entity contains too many items to pre-populate the list and you want to see only those sales orders that occurred on a specific date, you can pre-filter the list using the Filter List dialog box. Here, you specify a filter condition to locate the sales orders that you want and add them to the Available Data list box. You can, at this point, add all the available data to your Selected Data list box, or select particular items. When you click OK, all items in the Selected Data list box are displayed as a prepopulated list when you click the criterion down arrow in the Filter Data dialog box, allowing you to select which criteria to add to the filter condition. When creating a pre-filtered list, keep in mind that you are not specifying your criteria; you are simply limiting the criteria options available from which to select your filter condition criteria. Using Relative Dates Report Builder supports two types of relative dates in filters: relative date values and relative date ranges. Relative date values are used as filter criteria when filtering data for a specific point in time. To specify a relative date value, you use the calendar control that appears in the criteria area when you add a date or time field to the filter area and the relative date options from the bottom of the calendar control. Alternatively, you can just type in the appropriate text, for example 'today'. The match is not case sensitive. Relative date ranges are specified using comparison operators and return data for a range of dates. For more information about date ranges, see Selecting a Comparison Operator for a Filter Condition [Report Builder]. Relative Date Values

The following values are supported.

Name

Description Returns data for today's date at midnight (00:00:00 AM).

Example Suppose today is 10/15/09. Data is returned for the entire day of 10/15/09. Suppose it is 1:30 PM on 10/15/09. Data is

Today

Now

Returns data for today's date and time.

returned for the date 10/15/09 from midnight to 1:30:00 PM. If today is 10/15/09. Data is returned for 10/14/09. If today is 10/15/09. Data is returned for 10/16/09. Suppose today is 7/12/07. Data is returned for the date 7/1/07. Suppose today is 7/12/07, this is the third quarter of the year. Data is returned for the date 7/1/07. Suppose today is 7/12/07. Data is returned for the date 1/1/07. Suppose today is 7/12/07. Data is returned for the date 7/31/07. Suppose today is 7/12/07, this is the third quarter of the year. Data is returned for the date 9/30/07. Suppose today is 7/12/07. Data is returned for the date 12/31/07. Suppose today is 7/12/07 and five days are specified. Data is returned for the date 7/8/07.

Yesterday

Returns data for today's date minus one day.

Tomorrow

Returns data for today's date plus one day.

First day of month

Returns data for the first day of the current month based on today's date.

First day of quarter

Returns date for the first day of the current quarter based on today's date.

First day of year Last day of month

Returns data for the first day of the current year based on today's date. Returns data for the last day of the current month based on today's date.

Last day of quarter

Returns data for the last day of the current quarter based on today's date.

Last day of year

Returns data for the last day of the current year based on today's date. Returns data for a single date that occurs the specified number of days before today. Returns data for a single date that occurs the specified number of months before the month of the current day. Returns data for a single date that occurs the

(n) days ago

(n) months ago

Suppose today is 7/12/07 and 2 months are specified. Data is returned for the date 5/12/07.

(n) years ago specified number of years before the year of the current day. (n) days from Returns data for a single date that occurs the

Suppose today is 7/12/07 and 3 years is specified. Data is returned for the date 7/12/04.

Suppose today is 8/15/09 and 10 days is

now (n) months from now

specified number of days from today. Returns data for a single date that occurs the specified number of months from today's month.

specified. Data is returned for the date 8/25/09. Suppose today is 4/3/10 and 5 months is specified. Data is returned for the date 9/3/10.

(n) years from Returns data from today's year plus the number of Suppose today is 4/3/10 and 2 years is now years specified. specified. Data is returned for the date 14/3/12.

Grouping Filter Conditions [Report Builder] :A filter group contains one or more filter conditions connected by the same logical operator. Grouping filter conditions helps refine the data returned when the filter is applied to the report. By default, a single, implied filter group is created when you add several filter conditions to the filter area. You can further group the filter conditions by using the New Group options. Using these options you can group a set of filter conditions and nest grouped filter conditions within other grouped filter conditions to display the data you are interested in viewing in the rendered report. Filter condition groups are grouped using Any of, All of, None of, and Not all of options. In an All of or None of filter condition group, all the filter conditions within the group must be met. In an Any of or Not all of filter condition group, any of the filter conditions within the group must be met. By default, And is the logical operator between the filter conditions in an All of or Not all of group box, but this can be changed to Or by changing the title of the filter group. By default, Or is the logical operator between the filter conditions in an Any of or None of group box, but this can be changed to And by changing the title of the filter group. If you change the operator between the filter groups to Or, the grouped filters are grouped by an Any of group box.

Working with Formulas [Report Builder] :Formulas are calculations performed on values in your report. Sometimes, they are referred to as expressions. A formula can contain functions, operators, constants, and references to fields or entities. You do not need to add an equals sign (=) to a formula in Report Builder because it is implicitly stated. Formulas can look similar to any of the following:

Sum Line Total 6+12 SUM(IF(Finished Goods Flag, "Finished", "Unfinished")) In This Section Topic Creating a New Field [Report Builder] Understanding Formulas [Report Builder] Modifying Formulas [Report Builder] Description

Discusses how to create a new field and assign a formula.

Discusses how to create a formula.

Discusses how to manipulate formulas by aggregating, filtering, and removing

duplicates. Using Functions [Report Builder] Discusses the functions available in Report Builder.

Understanding Formulas [Report Builder] :Formulas allow you to combine, aggregate, filter, and evaluate both numeric and text data. You can create formulas and save them as new fields; or, you can modify the formulas of existing fields. All formulas are defined within the context of an entity. This means that the formula returns a single value for each item within the entity. For example, suppose you create a formula within the Customer entity. The formula returns a single value for each Customer. When you create your own fields with formulas, you will need to create them in the context of an entity as well. A formula can contain any or all of the following: references, functions, operators, and constants. References A reference is a field name. This can be an existing field name within the entity, or a calculated field name that you have created and added to the Fields list. The reference tells Report Builder where to look for the values, or data, you want to use within a formula. You can refer to fields within your context entity and to fields in other entities within one formula or use the value from one field in several formulas. When you use references, Report Builder runs the formula against each value within the field. For example, suppose a field contains the yearly sales total for the past five years. This field contains five values, each representing the sales total for a given year. If your formula contains a reference to this field, the formula calculates the new value using each individual value. Functions Functions are predefined formulas that perform calculations by using specific values, called arguments, specified in a particular order. For examples of how supported functions can be used in Report Builder, see Using Functions [Report Builder]. Arguments can be literal values or fields, or combinations of both. When fields are used in formulas, the field name represents each instance of the field. If the argument is a literal value, you may need to indicate that the argument is a literal value using specific characters. For more information about using literals in Report Builder, see Working with Literals in Formulas and Filters [Report Builder]. Operators Operators specify the type of calculation that you want to perform on the values of a formula. Report Builder includes three different types of calculation operators: arithmetic, comparison, and text. Operators are indicated using symbols, such as the plus sign (+), in Report Builder.

Arithmetic Operators Arithmetic operators perform basic mathematical operations such as addition, subtraction or multiplication, combine numbers, and produce numeric results. For more information about Arithmetic operators, see Operator Functions [Report Builder]. Comparison Operators You can compare two values using Comparison operators. When two values are compared by using these operators, the result is a logical value, either TRUE or FALSE. For more information about Comparison operators, see Operator Functions [Report Builder]. Text Concatenation Operator Use the ampersand (&) to join, or concatenate, one or more text strings to produce a single piece of text. For more information about the Text Concatenation operator, see Text Functions [Report Builder]. Constants A constant is a value that is not calculated and, therefore, does not change. Report Builder uses the following constants: True, False, and Empty. These constants are used to evaluate Boolean fields. For example, suppose you have a field called IsDiscontinued. The only valid values for this field are True, False, or Empty (" "). Creating a New Field [Report Builder] :The data source that you use in Report Builder consists of fields grouped into entities. Every field within the data source has a formula in it that tells Report Builder what information should be pulled from the underlying database. The person who created your data source probably created numerous text, aggregate, number, date and time, money, Boolean, and image fields in anticipation of how you and other users would want to work with the data in the data source. However, perhaps you need to manipulate the data in such a way that none of the available fields represents exactly the data you want to add to your report. In this case, you can create fields using the functions available in Report Builder. For example, suppose you need to determine the age of each employee in the company. The only information you have is each employee's birth date. By creating a new field and using the DateDiff and Today functions, you can calculate each age value. Here is an example using text data: suppose you want to combine the first, middle, and last name fields and display each employee's name as a single field. To do this, you need to create a new field, and then use the concatenate function to combine the three fields. Before you start to create your field, use the Explorer pane to locate the entity you want to use for the context of your field. By locating this entity, you are pointing Report Builder to the information that it needs to pull and/or manipulate from the underlying database. Using the examples above, you would locate the Employee entity before you begin to create the new field.

Once you have located the context entity for your field, simply click the New Field button to launch the Define Formula dialog box. To create your field in the Define Formula dialog box, you can drag fields into the formula and use the available functions. When you are done creating your field, you can give the field a meaningful name and save it within the context entity. Once you have saved your field, it is listed in the Fields area. You can continue to refine the formula and work with the new field just like you would any other field. When you save your new field, keep in mind that this field is not saved back into the data source and is not available to anyone else using the same data source. Instead, the field is saved to the current report only. If you share your report with others and they have permission to edit the report, they can use the new field too. Note: If you find yourself creating the same type of field repeatedly or if others might find your new field helpful, you should contact the person who creates your data source so that they can incorporate the field into the data source.

Modifying Formulas [Report Builder] :To return the data that you want to include in your report, you can change the formula, specify the aggregation level, remove duplicates, and apply filters to the formulas in the fields that you create and the fields that are a part of the data source. Viewing Formulas in Fields Some fields in your data source have formulas associated with them already, for example aggregate fields. You can view the formula of a field by right-clicking the selected field name in the Define Formula dialog box and selecting Replace With Definition. The field name is replaced with the formula used in the field. Expanding Fields A field that is referenced in a formula does not need to come from the same entity; it can come from a related entity. Expanding a field allows you to see the relationship between the field and the context entity of the formula that references the field. Once you have expanded the reference, you can change the aggregation level, remove duplicates, or apply a filter to an entity anywhere along the relationship path. You can expand any formula within your data source as well as those formulas that you have created for this report. To expand a formula, simply double-click the formula in the Formula box, or right-click the formula and select Expand. The relationship between the entities is displayed below the Formula box.

Filtering Formulas Using filters on the formulas in the report, you can answer precise questions about the data. Filtering is used to exclude data from the report. For example, suppose you want to create a customer list based on customer behavior. You want to know the average age of customers who purchased specific items within the last three months. To identify which customers fit into this category, you need to apply a filter. When the filter is applied, the list of customers is reduced to just those customers who fit the criteria that you specify. After this list of customers is returned, you can apply formulas to the customer list to get the information you want from the data. To apply a filter, expand the formula, click no filter applied, and then click Create a new filter. If you have a previously defined filter that you want to apply to this formula too, you can click Use an existing filter instead. In the Filter Data dialog box, you can create, modify and save your filter, just like any other filter in Report Builder. When you save the filter, the name of the filter is displayed beside the name of the field formula. You can continue to edit the filter and the formula. Working with Duplicate Data Depending on the question you are trying to answer, you might want to keep or remove duplicate data in your report. For example, if customers have orders with products and you want to count the number of products per customer, you need to decide if you want to count products purchased multiple times by the same customer or only count distinct products per customer. By default, Report Builder retains all duplicates. To remove them, expand the formula and click the Keep all duplicates of link. In the Remove Duplicates dialog box, you can select which duplicates to keep and which to remove. Aggregation Levels Depending on the type of data that you want to analyze and how you want to analyze it, you might want to specify an aggregation level on your data somewhere along the entity relationship within the expanded reference. Work with aggregation levels when you want to use two aggregations within the same formula.

For example, to get the average Amount per Order across all Orders for an Employee, you would Sum the individual line totals per order (Sum Amount from Order Details) to the Order level, then Average the amounts per order for all orders for the employee. The Sum of the Amount must be aggregated to the Order level only, and not floated to the Employee level. The level of aggregation you choose depends on how you are analyzing the data. To change the aggregation level, you need to expand the field, right-click the entity that you want to aggregate to, and then select Aggregate to Here. In order to perform this type of aggregation, you need to have more than one entity displayed when the field is expanded. Working with Literals in Formulas and Filters [Report Builder] :Filter conditions and expressions can both use literals and variables. A literal is a constant value whereas, a variable represents a set of values that can change. For example, suppose you add the literal value #12/15/2005# for a date to a formula. When the results of the formula are displayed, the date "12/15/2005" is displayed as well. If you were to use a variable, the data would change depending on the underlying data source. For example, you might use the field OrderDate in the formula; the result would display each instance of the OrderDate field. To indicate to Report Builder that the value should be treated as a literal, you need to use a specific symbol depending on the type of data. The following table indicates which symbol is used with each character type. To make the following a literal: #<Date># Date For example, the literal date #1/25/2009# renders as: 1/25/2009. #<Time># For example, the literal time #14:19:42# renders as: 14:19:42. To display a datetime value as a time value, you must format the field to use one of the following custom datetime format strings on the Number tab of the Format dialog box: u, f, or Time s. Note: You can enter literals as DateTime Offset values but Reporting Services automatically converts them to DateTime UTC values.The Offset portion of the DateTime Offset value is removed after the value is converted. Use this symbol:

"<String>" Text For example, the literal string "The following bicycle parts are replaceable:" renders as: The following bicycle parts are replaceable: <Decimal>m Decimal For example, the literal decimal 1.435m renders as: 1.435.

Remarks Note the following when working with literals:

Float, integer, and Boolean values do not require a special symbol. The Define Formula and Filter Data dialog boxes are not case sensitive; therefore, function names and Boolean values can be typed in lowercase or uppercase letters. Case sensitivity of strings depends on the underlying data source. Report Builder automatically converts a decimal to a floating value when required in the formula; therefore, you can create formulas that require this conversion without having to specify whether the value is a float or a decimal. Working with Parameters [Report Builder] :A parameter is a variable that sets the scope of the data returned when a report is run. You can provide a default value, or the person running the report can select a value or set of values. When you add parameters to your report, you are allowing the person reading the report to control what information is displayed at runtime. For example, suppose you create a report that displays sales information for each sales territory. If you add a parameter that requires the user to select which sales territory they want to view, the report displays only the sales information for that specific sales territory. If they want to view the sales information for another territory, they can select another sales territory from the parameter list and run the report again. Important: Parameters are not used for row-level security; they do not prevent users or groups of users from seeing specific rows of data. To apply security to the data displayed within a report, you need to use security filters or model item security. For more information about using security filters, consult your database administrator and/or the person who designed the source of data that you are using for your reports.

To add parameters to your report, you need to open the Filter Data dialog box, create a filter clause based on the entity or field that you want to use as a parameter, and then click the field or entity and select the Prompt option.

To specify a default, type or select a value for the entity or field in the filter clause. You can add an unlimited number of parameters in your reports. Note: When report readers view the parameters list, the values might not be sorted.

Working with Totals [Report Builder] :Total and Grand Total rows are automatically added to Report Builder matrix or tabular reports that contain total fields. Total rows calculate the subtotals for each total field within a given group. The Grand Total row, which appears at the end of the entire report, calculates the grand total for each total field. For example, suppose you have a report that is grouped by Territory, and then Customer. The following fields are displayed in the report: Territory, Account Number, Customer Name, Sales Orders, and Totals Sales. By default, a Total row is added for the Customer group within each Territory and a Grand Total row for all territories within the report as shown in the following image.

You can hide or show Totals for individual columns and for entire groups within your reports by selecting the total field in the report layout and then using the context menu or by selecting options from the Edit menu.

Running a Report [Report Builder] :While designing your report, you are working with a sample representation of the data. As such, the text is displayed as Xs and the numbers as zeroes (0). The actual data is not visible in the report until it is rendered. To see the data, you need to run, or render, the report. To run a report, click the Run Report button on the Report Builder toolbar. The results are displayed in the Report Builder run mode window. After you run the report, you can continue to refine it, save it, print it, save it as another file type, or simply view the data displayed in your report; and, if your organization is running SQL Server Enterprise, you can also drill through the data using clickthrough reports. Before continuing, it might be helpful to understand how Report Builder combines the report layout with the data. Running a Report Overview The layout of a Report Builder report is based on an XML schema called Report Definition Language (RDL). This schema provides all the information about how the report should look when it is run. For example, RDL indicates where the data for each field should appear within the report, what colors should be used throughout the report, and where page breaks should occur.

While you design your report, you are also building the metadata that is used to retrieve your data from the data source. This metadata provides the information about the fields and entities that you have added to your report, and any sorting, grouping, filters, or functions that you want to apply to the data. When you click the Run Report button on the Report Builder toolbar, Report Builder pushes all of your report information up to the report server. The report server extracts the query metadata from the RDL. Using the metadata, the report server retrieves the data you want and applies any filters, functions, sorting or grouping that you have specified. The report server then combines the data with the RDL and renders the report in the Report Builder run mode window on your computer. In this Section Topic Description Working with a Report in Run Mode [Report Discusses how you can continue to refine a report or view the contents Builder] of a report after the report runs. Viewing Clickthrough Reports from a Report [Report Builder] Discusses how you can explore the data related to the data displayed in the report.

Working with a Report in Run Mode [Report Builder] :When you click the Run Report button, the report is displayed in run mode. In Report Builder run mode, you can do the following:

Export a report to a different file type. Print the report. Save the report to the report server or your local computer. Search the contents of your report data. Sort the data. View the data in your report. View clickthrough reports. Zoom in and out of the report page. Viewing the Report Contents Using the Run toolbar, you can see how many pages there are in your report, move between the pages of the report, and view the contents of the report. You can locate specific information within your report by using the Find and Next buttons. For example, suppose you want to locate a specific value, such as a product name, that appears within your report. You can type the value into the Find box and then use the Find and Next buttons to locate all instances of that value within the report. Depending on the number of rows and columns in your report, you might want to adjust the size of the pages in the current report. In run mode, you can zoom in and out of the contents of the report page. Zoom settings can be set from 25% to 500% of the original page size. You can display an entire page within the run area of the window. Choosing the Whole Page option changes the zoom settings of each page, depending on the quantity of data displayed on that page. You can also display the contents of the report so that the report contents span the entire

page. If you set the Zoom settings and then save your report, this does not affect the ability of other individuals to control their zoom settings when they view the report. Refining the Report In run mode, you can continue to refine your report by changing the filter, or sorting and grouping your data. For example, after reviewing the contents and appearance of your report, you might decide to apply page breaks to your report to make the data more readable. Or, suppose you decide to apply a filter to your report so that only the data pertaining to the Manufacturing department is displayed. When you update the report, Report Builder automatically refreshes the data so that you can see how the changes affect the data returned. For example, after you apply page breaks, Report Builder automatically runs the report again and returns the report with the page breaks applied. The format or design of the report cannot be changed in run mode. Instead, switch back to design mode by clicking the Design Report button on the Report Builder toolbar and then you can continue to work with the report layout. Switching back to design mode requires you to work with representations of the data again. After running your report, you can save the report to the report server or to your computer. For more information about saving a report, see Saving a Report [Report Builder]. If you want to save the report with the data included, you can use one of the export options to save your report as a different file type. For more information about saving a report as a different file type, see Exporting a Report as a Different File Type [Report Builder]. After running your report, you might want to print a copy. For more information about printing a report, see Printing a Report [Report Builder]. Viewing Clickthrough Reports from a Report [Report Builder] :A clickthrough report is a report that displays related data when you click the interactive data contained within your report. These reports are generated by the report server based on the information contained within the source of data that you are using to create your report. The person who created the data source determines which fields are interactive and which fields are returned when a clickthrough report is opened. These field settings cannot be changed in Report Builder. Note: Clickthrough reports are available only when running SQL Server Enterprise. If you are unsure of which version of SQL Server that your organization is running, contact your database administrator. For example, suppose you run a simple report that lists the employees by department. You have added the following fields to the report: Group Name, Department Name, Title, First Name, and Last Name. When your pointer hovers over the Department Name values, it changes from a pointer to a select link pointer (a hand). If you click the Facilities and Maintenance department name, a new report is displayed. This is a clickthrough report that displays information about the Facilities and Maintenance department. If you click the #Employee Department Histories value, a new report is displayed which shows information about the seven employees that work in the Facilities and Maintenance department. You can continue to clickthrough the related data until you run out of related data to click. When you are ready to return to your original report, click the Back to Parent Report button on the Run Report toolbar. Viewing Related Data The fields that are displayed in the clickthrough report provide details about the entity. Using the example above, the following fields are displayed when the department name is clicked: Department ID, Name, Group Name, Modified Date, and #Employee Department Histories. These fields were designated as related detail for the Department entity by the person that created the data source. Clickthrough reports are displayed using one of two basic design formats, which cannot be customized in Report Builder. Depending on the relationship between the entities within your report, a clickthrough report can be displayed as either a list of fields and values, or a simple table. For example, when you click the Facilities and Maintenance department name, the resulting clickthrough report appears as a list because there is only one Facilities and Maintenance department. The contents of the clickthrough report are oriented vertically similar to the following picture.

Within the Department clickthrough report, the #Employee Department Histories field is interactive. When you click a value, the resulting clickthrough report appears as a basic table because there are many employees within the department. The contents of the clickthrough report are oriented horizontally similar to the following picture.

Saving a Report [Report Builder] :-

After you create a report in Report Builder, you may want to save it for future use. When you save a Report Builder report, you are saving a description of how the report should look and the queries used to retrieve the data, not the actual data itself. The next time you run the report, the query retrieves the latest available data and formats it based on the report description generated by Report Builder. Reports can be saved to a report server or to a SharePoint library. Note: To access and save reports in a SharePoint library, your report server must be configured for SharePoint integrated mode. If you are unsure about your report server configuration, contact your database administrator.

A saved report is called a report definition. A report definition is an .rdl file that contains report definition language (RDL) and a metadata query. When you run the report, the data returned by your query is combined with the RDL and rendered in Report Builder run mode. You can export the report to another program, like Microsoft Excel, and save the report--along with the data--in that file format. For more information, see Exporting a Report as a Different File Type [Report Builder]. Report Builder report definitions can be saved to any report server or SharePoint library that you have permissions to access, or to your local computer. Saving an .rdl file to a report server or library is also called publishing a report. When you publish the report, you can assign properties to the report that allow others to view it. Publish the report definition to the report server or library when you want to regularly run the report and view the current data, or if you want to share the report with others in your organization. Save the report definition to the local computer if you want to upload the file to a different report server or library, or if you want to open the report in the Reporting Services Report Designer. Saving a Report to the Report Server or SharePoint Library When saving a Report Builder report, you can choose which report server, library, or folder within a library that you want to use, regardless of which report server or SharePoint site that you used to start Report Builder. When saving the report to a report server, you must save it to the same report server where the source of data used in

the report is stored. When saving the report to a library, you must save it to a Sharepoint site connected to the same report server as the site where the source of data is stored. Otherwise, the report cannot be rendered. After the report is saved, you can continue to open the report, change the report, and save the report definition in Report Builder as often as you want. Sharing Reports with Others Once the report is published, it can be managed just like any other report. This means that you can run the report from the report server or library; distribute reports using subscriptions and delivery processes available in Reporting Services; create and manage schedules to automate report processing; and use role-based security to control access to the report. For more information about working with reports, see "Managing and Working With Published Reports" in Microsoft SQL Server. Saving a Report to the Local Computer When saving a Report Builder report to the local computer, the report can be saved to any folder location on the computer. A report saved to the local computer cannot be rendered simply by clicking the report. You can upload the report to a different report server or library, or open the report in Report Designer. To learn more about this Reporting Services tool, see the Reporting Services section of SQL Server Books Online. Exporting a Report as a Different File Type [Report Builder] :In Report Builder, there are export options that you can use to save your report data as another file type, such as Excel or HTML. Exporting the contents of a report allows you to do the following:

Work with the report data in another application. Save the report data as another file type. Print the report data in a different format. For example, suppose you want to analyze the year-to-date sales information for the past five years and then use this information to forecast expected yearly sales for the next five years. You can create a Report Builder report that contains the data that you need from the past five years, and then export the report data to Office SharePoint Server where you can begin to use this data to forecast future sales trends. Here is another example: suppose you want to use the data of your report in a presentation. You can export the report data as an HTML file and then import it into the application you are using to prepare your presentation. The export options are available on the report toolbar that appears at the top of the report when you click the Run Report button in the Report Builder window. Click Export and then select a format from the drop-down list. The Save As dialog box appears, allowing you to select a location to save your exported report to and specify a name for the new file. The file associations configured on your computer determine which application is used to open the exported report. When you export the report data, the report is saved in its current state. After exporting, you can continue to work with the report in Report Builder, save the report to the report server, or simply end your Report Builder session. Any changes made to the report in Report Builder after you export it are not saved to the new exported file. If you want your modifications to appear in the exported report, you must export the report again. Note: Once you export a report as a different file type, the contents of the file cannot be imported back into Report Builder. Available Export Formats The Report Builder export options available to you are configured on the report server by the server administrator. If an export option described here is not available, consult your server administrator. The following table describes the options you can use to export the data from a report.

Format Excel

Recommendations Use this format to work with your report data in Saves a report as a Office SharePoint Server file. Office SharePoint Server 2000 or later. The Web archive format produces a self-contained, portable report (embeds images within the report). Use this format to view HTML reports offline or for email-based delivery. Use this format to print paginated reports or to create PDF versions of a report.

Description

Saves a report as an MHTML file. The report Web archive opens in Internet Explorer. This is the default rendering format for Internet Explorer 6.0. Acrobat (PDF) file Saves a report as a PDF file that can be opened in Adobe Acrobat Reader (version 6.0 or later).

TIFF file

Saves a report in a page-oriented format. The Use this format to print paginated reports. This version of the Windows operating system format is useful if you don't have Acrobat Reader determines which application is used to open the installed. saved file. Use this format to copy report data to other applications or servers. The XML generated by the XML rendering extension is UTF-8 encoded.

XML file with Saves a report as an XML file. The report opens report data in a browser.

CSV (commadelimited)

Saves a report as a comma-delimited format file. The report opens in an application associated This format produces the smallest file size. Use this with CSV file formats, such as a spreadsheet format to copy report data to other applications or application, or other program that reads text servers. files.

Design Considerations for Exporting a Report as a Different File Type [Report Builder] When you create your report in Report Builder, you are telling Report Builder what the report layout should look like and what data should be retrieved from the data source. By clicking Run Report, you are telling Report Builder to combine the layout of the report with the data from the data source. If you want to save the report as a different file type, such as Excel or a .txt file, you need to be aware that the exported report will probably not look exactly the same as it did in Report Builder. Some export options, such as CSV, save only the data from the report while other export options, such as MHTML or Excel, save the data and try to save some of the design information so that the exported report looks similar to the report you designed. Understanding how the available exporting options change the report's look can help you make effective decisions about how best to design your report so that it looks the way you want it to look whatever its final delivery format. This topic explains important differences in how export options are used to save your report as a different file type and includes a list of topics that explain how each export option processes the design information of your report. Export Option Comparison Although there are no restrictions or requirements for using the different export options, some export options generate file types that are useful for specific purposes. For example, XML and CSV export options are useful for creating files that can be used as a data feed to another application or process, while MHTML and Excel export options are useful for creating files that look more familiar to report users. Knowing whether an export option produces similar output to another option can help you make decisions about report design. For example, if you are creating reports that are intended for viewing as physical pages, you might want to focus on a design that works well in Report Builder and in the export option file type that you plan to use. Once you have saved your report as a different file type, you can work with the resulting new file just like any other file of that type. In This Section Exporting a Report as a CSV File [Report Builder] Discusses design issues and considerations specific to the CSV export option.

Exporting a Report as a Microsoft Excel File [Report Builder] Discusses design issues and considerations specific to the Excel export option. Exporting a Report as a PDF File [Report Builder] Discusses design issues and considerations specific to the PDF export option. Exporting a Report as an Image File [Report Builder] Discusses design issues and considerations specific to the TIFF export option. Exporting a Report as a Web Archive File [Report Builder] Discusses design issues and considerations specific to the HTML export option. Exporting a Report as an XML File [Report Builder] Discusses design issues and considerations specific to the XML export option. Exporting a Report as a CSV File [Report Builder] :The Comma-Separated Value (CSV) export option saves report data as comma-delimited plain text files, without any formatting. The file uses a comma (,) to delimit fields and rows. The resulting file can be opened in a spreadsheet program like Office SharePoint Server or used as an import format for other programs. By default, the .csv file opens in Notepad. If accessed as a URL, the .csv file returns a MIME type of text/plain. The files are MIME version 1.0. CSV Rendering When exported, a Report Builder report has the following characteristics when saved and opened as a CSV file:

The first text line of the file contains headers for all the columns in the report. All rows have the same number of columns. The field delimiter string is a comma (,). The record delimiter string is an invisible carriage return and line feed (<cr><lf>). The text qualifier string is a quotation mark ("). If the text contains a quotation mark, that quotation mark is doubled (""). If the exported report is a table, at the end of each row is a number that indicates the number of rows returned in the report. For example, if 330 rows are returned in the report, the number 330 appears at the end of each row in the .csv file. Formatting and layout are ignored. Fields that contain images as data are ignored. The remaining report items are sorted, from top to bottom, and then left to right. Each item is then saved to a column. The following table lists the considerations applied to items when exporting to a CSV file. Item Save behavior Text Saves the contents of the text box. The data is formatted according to the item's Format property. box

Table

Saves by expanding the table and creating a row and column for each row and column at the lowest level of detail. Subtotal rows and columns do not have column or row headings. Clickthrough reports are not supported.

Saves by expanding the matrix and creating a row and column for each row and column at the lowest level Matrix of detail. Subtotal rows and columns do not have column or row headings. Clickthrough reports are not supported. Chart Saves a row for one set of the data values, and columns for the other set of data values. Clickthrough reports are not supported.

Note: The structure of the matrix data region in CSV files might change in upcoming releases of Reporting Services. Exporting a Report as a Microsoft Excel File [Report Builder] :The Excel export option in Report Builder is compatible with Microsoft Excel 97 and later; it saves the report as an Excel spreadsheet and tries to preserve the layout and original design of the report. Because of this, you need to take certain considerations into account when saving your report as an Excel file. Note: The format for reports rendered as Microsoft Excel is Binary Interchange File Format (BIFF). When a report is saved as an Excel file, each page in the report becomes a worksheet and looks similar to the report you exported. There is a limit to the number of worksheets that Excel can have per workbook, and an error is generated if the limit is exceeded. Excel supports only a predefined set of colors. When the report is saved as an Excel file, Excel takes the colors used in the report and maps them to the best match. In This Section Topic Limitations with Exporting to Excel [Report Builder] Description Describes limitations in Excel that may cause errors in the report when saving it to Excel.

Report Item Behavior When Exporting to Excel [Report Describes how Excel saves charts, tables, matrices, and Builder] text. Page Layout When Exporting to Excel [Report Builder] Page Layout When Exporting to Excel [Report Builder] :A report can consist of multiple pages of data. Reports that are saved as file types that support page breaks can have page breaks at the beginning and/or the end of a group. Excel preserves layout and page breaks in an exported report. To see how to add a page break in Report Builder, see Controlling Page Breaks, Headings, and Columns [Report Builder]. The layout of the data becomes a table generated from the entire report. Cells are merged as necessary to let report items cover their allotted area. Overlapping elements are handled by placing them next to each other. Rows and columns are sized to match the layout of the original report. If the layout has too many rows or columns for Excel, the export option generates an error and the report is not processed. Page Orientation The paper height and width are compared to an internal table containing the most common paper sizes and orientations. If there is a match, that paper size is used, and the orientation is set to Portrait. If the height and width isn't found, the internal paper size table is searched again with the width and height reversed. If a match is found, then the paper size is used but the orientation is set to Landscape. If still no match is found, orientation is Describes the page orientation, pagination, and section breaks.

determined by comparing the height to the width. If the paper height is greater than the width, the orientation is set to Portrait; otherwise it is set to Landscape. Pagination All page break information is written into the worksheet for printer pagination. However, tables and matrices that contain other elements that have page breaks might not save correctly. Limitations with Exporting to Excel [Report Builder] :When exporting report data to Microsoft Excel, you should be aware of the following limitations:

The maximum number of rows in Excel is 65,536. This is checked by the Excel export option, and an error is displayed in Excel if the limit is exceeded. The maximum number of columns in Excel is 256. This is checked by the Excel export option, and an error is displayed in Excel if the limit is exceeded. The maximum column width in Excel is 255 characters or 1,726.5 points. This is not checked by the Excel export option. The maximum number of characters in a cell is 32,767. This is not checked by the Excel export option. There is a limit to the number of worksheets that Excel can have per workbook. Each page of the rendered report becomes a worksheet; an error is displayed in Excel if the limit is exceeded. Excel supports only the following border line widths: 0.5 pt., 1.0 pt., and 1.5 pt. Converting Formulas to Excel When saving your report data to Excel, Report Builder formulas are not converted to Excel formulas. Instead, the value is placed directly in the cell. Report Item Behavior When Exporting to Excel [Report Builder] :Some report items contain data from your underlying data source, such as charts, tables, and matrices. Other report items contain data that you enter, such as text boxes. This topic describes how these report items behave when the report is exported to Excel. Charts Charts are saved as pictures, not Excel charts. Tables Tables in reports are saved as a set of formatted cells in Excel, similar to the rows and columns within the report when you run it. Matrices Matrices in reports are saved as a set of formatted cells in the Excel file, much like the report when you run it. Matrix subtotals are not saved as formulas, and the matrix is not saved as an Excel PivotTable. Matrix data regions are fully expanded when saved in Excel. Text Boxes Text boxes are exported and appear as formatted text in the Excel file. If the text string is longer than one cell width, multiple cells are merged to accommodate the text.

Images Fields in Report Builder can contain images. When images are rendered to Excel, they are rendered as static pictures. Exporting a Report as a PDF File [Report Builder] :The PDF export option saves report data to a file that can be opened in Adobe Acrobat and other third-party PDF viewers that support PDF 1.3. Although PDF 1.3 is compatible with Adobe Acrobat 4, Report Builder supports Adobe Acrobat 6 or later. PDF viewers such as Adobe Acrobat are required for viewing or printing a report that is exported to a PDF format. The PDF export option is based on the TIFF file export option, with some differences. For information common to the TIFF file export option and the PDF export option, see Exporting a Report as an Image File [Report Builder]. This topic describes features that are specific to the PDF export option. Font Requirements When the PDF export option saves a report as a PDF file, it uses the information stored in the Report Builder fonts used in the report to create character mappings within the PDF file. If the font used in the report is not installed on the report server, the resulting PDF file might not contain the correct mappings and might not display correctly when viewed. In addition, the computer that you use to view the report must also have the correct font installed. If the font is not installed, the report might not display correctly. Differences in PDF output occur most often when the report uses Arial and it includes non-Latin characters. Before sharing your report as a PDF file, you should test the PDF file on several different computers to verify that the report appears correctly. Metadata The PDF export option writes the following information to the PDF file. PDF property Title Creator Producer CreationDate Created from The Name attribute of the Report RDL element. Reporting Services product name and version. Export option name and version. Report execution time in PDF datetime format.

Fonts The PDF export option does not embed fonts. Fonts that are used in the report must be installed on the report server and on the client computers used to view the report. Images If an image in the report is originally stored in JPEG format, the PDF file will contain that image in JPEG format. Images originally stored in other formats appear in PNG format. Exporting a Report as an Image File [Report Builder] :With extensions like the HTML export option, you rely on the client browser to display the final report to the user. This can lead to varying user experiences, based on browser versions, settings and fonts. With an image, you are assured that each user is viewing the same font and layout. The Tiff file export option saves a report to a bitmap or metafile. By default, the Tiff file export option produces a TIFF file of the report, which displays the report as multiple pages. When you open the Tiff file on a client computer, it can be displayed in an image viewer and printed.

The Tiff file export option can generate files in any of the formats supported by GDI+: BMP, EMF, GIF, JPEG, PNG, and TIFF. If you want to save your report as a file type other than TIFF, then you need to type the file extension when you rename the file. Report Appearance The Tiff file export option processes the report by assembling all elements of the report on a virtual page (or set of pages), then creates an image from that virtual page. Positioning of Items Many items can change size when they are displayed in a report. For example, text boxes can grow or shrink depending on the data contained within them. Matrices and tables expand based on rows of data. When the Tiff file export option saves a page, it calculates the sizes of each item and then repositions adjacent items. For example, a text box below a table is moved down as the table expands. Pagination The size of the page produced by the Tiff file export option is determined by the page width and height for the report, plus margins. An item below a page break is pushed onto the start of a new page. Keep Together Report items, such as table rows, are kept together, if possible. If the item contains no page breaks and its height is less than the available area on the page, the whole item is displayed on that page. If the item does not fit, a page break is placed at the beginning of the item and it is displayed on the next page. If a report item or set of report items is larger than the page, the item is split when it reaches the bottom of the page. Items that repeat on new pages display once on each page on which the related item appears. The following table describes how individual items are kept together on a page. Item Table Matrix Chart Table row Behavior All rows of the table are kept together, unless they contain a page break. All cells of a matrix are kept together, unless they contain a page break. A chart is always kept together. A table row is always kept together, unless it contains a page break.

Table column A table column is always kept together. Matrix row Matrix column Image Text box Table group A matrix row is always kept together, unless it contains a page break. A matrix column is always kept together, unless it contains a page break. An image is always kept together. A text box is always kept together. If it must split, it splits between lines, never in the middle of a line. A table group is not kept together.

Matrix group A matrix group is not kept together.

In This Section Topic Report Item Behavior When Exporting as an Image File Description Describes how report items are rendered when

[Report Builder] Page Layout When Exporting as an Image File [Report Builder] Report Item Behavior When Exporting as an Image File [Report Builder] :-

exported as an Image file. Describes how report layout and properties are rendered when exporting to an Image file.

The Tiff file export option saves the layout of report items and data as a static image. How each item appears in the resulting file varies depending on the report item. Matrix The following list describes how a matrix report is saved by the Tiff file export option:

All cells of a matrix are kept together, unless they contain a page break. If there is a page break before the first group, the matrix is displayed on a new page. If there is a page break at the end of the group, items after the matrix are displayed on a separate page. Corner Items in the corner that have a width or height of 100 percent are sized to fill the corner. Otherwise, they are clipped if they do not fit within the corner. Matrix Column The contents of a matrix column are displayed inside a cell. If the width or height is 100 percent, the items in the cell are sized to fit. If they do not fit within the cell, the items within the cell are clipped. If the matrix contains a page break, column headers are repeated on each page on which the matrix appears. Matrix Row The contents of a matrix row are displayed inside a cell. If the width or height is 100 percent, the items in the cell are sized to fit. If they do not fit within the cell, the items within the cell are clipped. If the matrix contains a page break, row headers are repeated on each page on which the matrix appears. Subtotal Subtotals are saved as a text box. Styles for the matrix are applied to this text box. Matrix Cell Items within a matrix cell are displayed inside a cell. Items with percentage widths or heights are sized to the cell; otherwise, the contents of the cell can increase the size of the cell.

The Line Height option determines the minimum height of the cell. The Text Alignment and Padding options determine the minimum width of the cell. Table A table is rendered as a grid. If the table has borders, they are drawn around the table. The following list describes how a table is saved by the Tiff file export option:

Unless there are page breaks, all rows of the table are kept together.

If there is a page break before the first group, the table is displayed on a new page. If there is a page break at the end of the group, items after the table are displayed on a separate page. Table Column The Text Alignment and Padding options determine the minimum width of the cell. Table Row The table rows are displayed as a row of rectangles that contain the report items for the row. The Line Height option determines the minimum height of the cell. TableCell Items within the table cell are saved inside a cell. If the contents of a cell do not fit within the cell, the contents of the cell can increase the size of the cell. Chart The following list describes how a chart is saved by the Tiff file export option:

A chart is always kept together. If there is a page break before the first group, the chart is displayed on a new page. If there is a page break at the end of the group, items after the chart are displayed on a separate page. Grouping The following table describes how groups are saved by the Tiff file export option. Group PageBreakAtStart PageBreakAtEnd Saves as The group is displayed on a new page. Groups and items below the group are displayed on a new page.

Textbox A text box appears as wrapped text inside of a rectangle. The following list describes how text boxes are saved by the Tiff file export option:

The text box expands vertically to fit the text. If the height of the text is smaller than the height of the text box, the text box is shrunk to fit. The text in the text box is not displayed if the data is the same as the preceding record. The text is shown if it is in the first text box on the page. Image The following list describes how images are saved by the Tiff file export option:

The image is retrieved from the data and displayed.

If the image cannot be retrieved, a red X image is displayed. If the image is formatted using the Clip option, the image is sized to match the output resolution, and then is clipped at the specified height and weight. If the image is formatted using the Fit to field option, the image is sized to the specified height and width. If the image is formatted using the Fit proportional to original size option, the image is sized to the specified height or width, keeping the original proportion of the image. If the image is formatted using the Autosize option, the image is sized to match the output resolution, ignoring height and width. Border Style Borders are drawn around an item as specified in the Top, Right, Left, and Bottom format options for the various border properties. The size of the spacing for dotted and dashed spacing is the same regardless of resolution. When borders are drawn, half of the border is drawn inside the item, and half is drawn outside an item. For example, a text box with a border width of 4 pixels will display with 2 pixels of the border inside the text box and 2 pixels of the border outside the text box. Fonts Because the report is run using the report server, the fonts used in the report must also be installed on the server. If the font does not exist on the server, the GenericSerif GDI+ font is used. If the value for the Font Style option is Bold or Bold Italic, the font is saved as bold. Padding Text is positioned within a report based on the values of the Padding Left, Padding Right, Padding Top, and Padding Bottom format options in Report Builder. The space for the padding begins at the edges of the box, not counting borders. If the padding is less than half the border width, the border overlaps the text. Text Formatting The following list describes what text formatting is supported and how it appears:

If the text is underlined, a line appears beneath the text in the Tiff file. If the text is formatted as a strikeout, the Tiff file displays a line through the text. Page Layout When Exporting as an Image File [Report Builder] :The Tiff file export option saves the layout of report items and data as a static image. How each item is rendered varies depending on the report item. Report Body The report body is saved as the contents of the page. The Page orientation and margins affect how the report is paginated. A border renders as the border of the body, inside the margins of the report. Exporting a Report as a Web Archive File [Report Builder] The Web archive export option saves report data in HTML format. This export option can produce the following types of HTML: HTML 3.2, HTML 4.0, or MHTML. The export option can also produce fully formed HTML pages or fragments of HTML to embed in other HTML pages. All HTML is generated with UTF-8 encoding.

The Web Archive export option is the default export option for reports that are viewed in a browser. The default HTML type is HTML 4.0.

To view the report data using HTML 4.0, open the report in Report Manager, a SharePoint Web part, or a report URL. To view the report data using HTML 3.2, you must reference the file on a report URL (for example, http://<webserver>/reportserver?%2fProduct%sfSales&rs:Command=Render&rs:Format=HTML3.2). To view the report data using MHTML, you can reference it using a report URL or select it from the list of export formats on the report toolbar. HTML 4.0 reports conform to the HTML 4.0 and Cascading Style Sheets level 2 (CSS2) specifications, with some exceptions. HTML 3.2 reports conform to the HTML 3.2 specification, but some styles may be included to improve appearance. The HTML rendering extension supports the MIME Encapsulation of Aggregate HTML Documents (MHTML) standard. This rendering extension embeds resources such as images, documents, or other binary files as MIME structures within the report HTML, in a single file. The encoded resources within the report increase the size of the report, but embedding the resources is useful for computers that do not have access to resources stored on the report server or in another location. MHTML reports are also useful for embedding within e-mail messages, because all of the resources are included with the report. Positioning of Items The Web Archive export option builds a table in HTML to contain the items in each set of report items. Items are positioned within the table to preserve the layout of the report. If the set of report items contain only one report item, the report item is rendered without the table. All locations and item sizes are expressed in millimeters (mm). Differences in sizes and positions less than 0.2 mm are saved as 0 mm. HTML does not support item overlap. If a report item overlaps another item, the items are arranged so that they do not overlap. This might result in items appearing on the page in different positions than you originally designed. In some cases, items may not appear to overlap but, in fact, do. Pagination The Web Archive export option saves report pages as separate HTML pages, also known as "sections," as follows:

Page breaks will appear in exported tables and matrixes, if one of the following options is set in the report: Page breaks between groups and also break before first group. Page breaks between groups and also break after last group. Page breaks between groups and also break before first group and after last group. Items that begin above an item that contains a page break will appear on the page before the page break. The Web Archive export option attempts to export all the page breaks within the report as described previously; however, items that have page breaks and that are contained within a table or matrix may also yield unpredictable results. Any item placed next to an item with a page break is saved on the same page if the top of the item is above the bottom of the item with the last break. For example, a text box that is placed directly to the right of a table that has a page break at the end of the table will appear on the same page as the table. A text box that is placed to the right of and below the bottom of the same table appears at the end of the last page. The Web Archive export option also inserts page breaks at the approximate height of the page as defined in the properties for the report. This is to prevent a large report with no page breaks from generating extremely large pages when exported and viewed in an HTML viewing application.

Exporting as an MHTML File The Web archive export option can save reports in MHTML (MIME Encapsulation of Aggregate HTML Documents), also described as Web archive files. MHTML extends HTML to embed encoded objects, such as images, in the HTML document. The Web archive export option can save MHTML as a fragment or as a full MHTML document. If the MHTML is a fragment, the HEAD, HTML, and BODY tags of the MHTML document are removed. Only the contents of the BODY tag are displayed. This is useful for embedding the MHTML in the HTML produced by another application. To better understand how the Web archive export option saves the Report Definition Language (RDL) elements in a report as a Web archive file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online. In This Section Topic Report Item Behavior When Exporting as a Web Archive File [Report Builder] Page Layout When Exporting as a Web Archive File [Report Builder] Report Item Behavior When Exporting as a Web Archive File [Report Builder] :The Web Archive export option saves the Report Builder layout and data as an HTML file. How each item is displayed varies depending on the report item. Report Items Tables, matrixes, and charts are saved as TD elements within the table. The page-break-inside property of the TD element is set to avoid (HTML 4.0). The following table describes how common report item sub-elements are rendered in the TD element. Subelements specific to each report item are discussed later in this topic. RDL element Name Top Left Height Width ZIndex Label Saves as Ignored. Determines the top position of the item. Also determines which item is positioned first in the case of overlapping items. Determines the left position of the item. Also determines which item is positioned first in the case of overlapping items. The HEIGHT attribute for items with a height that cannot change. The WIDTH attribute for items with a width that cannot change. Determines which item is positioned first in the case of overlapping items. The TITLE attribute. Also rendered as the ALT attribute for images. Description Describes how report items are saved by the Web Archive export option. Describes how report layout and properties are saved by the Web Archive export option.

HTML does not support overlapping items, and will position these items next to each other on the page. To determine the position of overlapping items, the export option first considers the value of the Top element for the items, then the value of the Left element, and then the value of ZIndex. Matrix

A matrix is saved as a TABLE tag in the HTML document. This table contains the matrix corner, columns, and rows, in separate cells. A TR tag is saved for each column element and each row value or subtotal. Corner The Corner is saved as a TD tag in the HTML document. This tag contains ROWSPAN attribute with a value equal to the number of column elements, and a COLSPAN attribute with a value equal to the number of row elements. Column Grouping The column grouping is saved as a TR tag in the HTML document. This tag contains a TD element for each data value and subtotal, and also has a COLSPAN attribute with a value equal to the number of columns in the column grouping. The Height format option determines the height of the column grouping TR tag. Row Grouping The row grouping is saved as a TR tag for each row value or subtotal in the HTML document. This tag contains a TD element for each data value and subtotal, and also has a ROWSPAN attribute with a value equal to the number of rows in the row grouping. Hidden row groupings display a subtotal in place of the hidden rows. The Width element within the RowGrouping RDL element determines the width of the row grouping TR tag. Subtotal The subtotal is saved as a TD tag containing the name of the subtotal. This TD tag also has a COLSPAN or ROWSPAN attribute. Matrix Cell The report items contained within a matrix cell are saved as TD tags for each row and column. The height and width of the TD element is determined by the width of the matrix column and the height of the matrix row. Table A table is saved as a TABLE tag in the HTML document. This table contains the table columns, rows, and details in separate cells. Table Column The Width format option determines the width of the column. Table Row Each row is rendered as a TR tag in the HTML document. The Line height Format option determines the height of the table row TR tag. TableCell A table cell is rendered as a TD tag in the HTML document. Chart A chart is rendered as an IMG tag in the HTML document. Text Boxes

A text box is saved as a DIV element that contains a SPAN attribute in the HTML document. If the output format is HTML 3.2, the text box is saved as a TABLE element with a single cell. The CanGrow and CanShrink RDL elements are rendered by the HTML rendering extension as follows: CanGrow False True False True HTML 4.0 The height and width of the text box are rendered; overflow is hidden. The height and width of the text box are rendered; overflow is visible. The text is rendered inside a parent DIV element. Height and width of the DIV are rendered; overflow is hidden. The width of the text box is rendered, overflow-y is visible, and overflow-x is hidden. Height is ignored. HTML 3.2 The height and width of the text box are rendered. The width of the text box is rendered. The height is ignored. The height and width of the text box are rendered. The width of the text box is rendered. The height is ignored.

Images An image is saved as an IMG tag in the HTML document. The following table describes how image formatting options are saved by the Web Archive export option. Sizing Clip HTML 4.0 The IMG tag is placed inside a DIV tab and overflow is hidden. The height and width are applied to the DIV as styles. HTML 3.2 Width and height are converted to pixels and saved as attributes. Width and height are converted to pixels and saved as attributes. Width and height are converted to pixels and saved as attributes. Width and height are not saved.

Fit to Field

Width and height are saved as styles. The IMG tag is placed inside a DIV tag and overflow is hidden. The height and width are applied to the DIV tag as styles. If JavaScript is enabled, a JScript script is included to resize the image after it is downloaded to the browser. Width and height are not saved.

Fit proportional to original size

Autosize

To better understand how the Web archive export option saves the Report Definition Language (RDL) elements in a report as a Web archive file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online. Page Layout When Exporting as a Web Archive File [Report Builder] :The Web archive export option saves the Report Builder layout and data as elements in an HTML file. How each item is saved varies depending on the report item. Report Elements within the Report RDL element are saved as elements, or tags, within the HEAD section of the HTML document. The following table describes how elements in the Report Builder Report RDL element are saved in HTML. RDL element Name Saves as <TITLE>The Name of the File </TITLE>

Body The contents of the Report Builder report are saved in the BODY section of the HTML document. The BODY section contains a DIV tag which includes information for height, width, and border. Items contained within the body of the report are saved as children of the BODY HTML element. The following table describes how some of the Report Builder report page properties are saved in HTML. RDL element Height Width Page Height Page Width Saves as The height attribute of the DIV HTML element. The width attribute of the DIV HTML element. Ignored. Ignored.

Note: Multiple, or continuous, columns in the report body are not supported by the Web archive export option. All reports are saved as a single column. Style Style elements are saved as CSS styles for HTML 4.0 and as HTML attributes for HTML 3.2. For HTML 4.0, a single CSS style is saved for each report item. The names of the styles are unique across reports. The following table indicates how the Report Builder style attributes map to HTML styles. Report Builder style Border Color Color of the border Border Style Border Width Background Color Font Style Font Size Font Style Text Effects Text Alignment Vertical Alignment Color Padding Left Padding Right Padding Top Padding Bottom Line Height Style of the border Width of the border Color of the background Style of font (Normal, Italic) Size of font Style of font (Bold) Text Effects (Underline, Strikethrough) Horizontal alignment of text Vertical alignment of text Color of text Size of padding between left border and text Size of padding between right border and text Size of padding between top border and text Size of padding between bottom border and text Height of the lines of text Description HTML 4.0 border border border background-color font-style font-family font-style text-decoration text-align vertical-align color padding-left padding-right padding-top padding-bottom Line-height HTML 3.2 bordercolor Ignored border bgcolor <I> <font face=> <B> <U> align valign color Ignored Ignored Ignored Ignored Ignored

Note: Due to the different tags used for HTML 4.0 and HTML 3.2, the same items may appear differently between the two formats. For example, the tags used to control font weight are more precise in HTML 4.0. Depending on the font

weight, text that is bold in HTML 4.0 may not appear bold in HTML 3.2. To better understand how the Web archive export option saves the Report Definition Language (RDL) elements in a report as a Web archive file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online. Exporting a Report as an XML File [Report Builder] :The XML file with report data export option saves a report as an XML file. The XML schema for the report is specific to the report, and contains data only. The report layout information is not saved by the XML export option. The XML generated using this option can be imported into a database, used as an XML data message, or sent to a custom application. General Rules The following table describes how report items appear when they have been exported to the XML file format. Item Report Charts, Tables, Matrixes Group and detail sections Text boxes Matrix column groups Display behavior Appears as the top-level element of the XML document. Appear as an element within the element for its container. Each instance appears as an element within the element for its container. Appear as an attribute or element within its container. Appear as elements within row groups.

Report data that is saved using the XML export option also have the following considerations:

XML elements and attributes are saved in the order that they appear in the report definition. Pagination is ignored. Images are ignored. Data Types The text box element or attribute is assigned an XML Schema definition language (XSD) data type based on the values that the text box displays. If all text box values are: Int32 Decimal (or Decimal and any integer or byte data type) Float (or Decimal and any integer or byte data type) Double (or Decimal and any integer or byte data type) DateTime Boolean String, Char Other Assigned data type is: xsd:integer. xsd:decimal xsd:double xsd:double xsd:dateTime xsd:boolean xsd:string xsd:string

To better understand how the XML export option saves the Report Definition Language (RDL) elements in a report as a XML file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online. In This Section Topic RDL Elements and Attributes in XML [Report Builder] Applying Transformations to XML Files [Report Builder] RDL Elements and Attributes in XML [Report Builder] :When a report is saved as an XML file, Report Builder needs to translate the report definition language (RDL) into XML. The XML export option saves report items as elements or attributes in an XML document. Each element can have a set of attributes or sub-elements associated with it. The attributes or elements vary depending on the report item. This topic discusses what the RDL schema is changed to when saved as XML. Report Report is the XML root node. It contains attributes that specify schema information for the XML document and the report name. The XML Schema (XSD) is specified in the XML root node as follows: Copy Code <Report xmlns="SchemaName" xmlns:sxi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="SchemaName ReportURL&rs:ImageID=SchemaName" Name="ReportName"> The following table describes how the attributes and elements in the Report RDL element are saved by the XML export option. RDL attribute Name Saved as The Name attribute of the root element. Description Describes how each element in the report is saved by the XML export option. Describes how to apply XSL Transformations (XSLT) to XML output.

Text Boxes The following table describes how text boxes are saved by the XML export option. The text box name and value are saved as an element or as an attribute depending on the value of the DataElementStyle RDL element for the text box. Saved as The name of the text box element or attribute. If DataElementName is not specified, the DataElementName default name is the name of the text box in the RDL. Value The value of the data in the text box. RDL element

Table The following table describes how tables are saved by the XML export option. The table is saved as an element. Saved as The name of the table element. If DataElementName is not specified, the name of the DataElementName element is the name of the table in the RDL. RDL element

TableGroup

The first TableGroup element is saved as a sub-element of the table element. Each subsequent TableGroup element is saved as a sub-element of the group instance for the previous TableGroup element. This results in nested groups of data. A sub-element of each group instance for the last TableGroup element. If there are no table groups, Details is saved as a sub-element of the table element.

Details

TableGroup The following table describes how table groups are saved by the XML export option. The table groups are saved as elements. RDL element DataCollectionName (Grouping) DataElementName (Grouping) Header Saved as The name of the table group element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". The name of the group instance element. Group instance elements are sub-elements of the table group element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. All items in the header are saved as sub-elements or attributes of the group instance element.

Details The following table describes how the attributes and elements in the Details RDL element are saved by the XML export option. Details is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the details element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". If Details has no grouping, the name of the element is Detail_Collection. The name of the group instance element. Group instance elements are sub-elements of the details element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. If Details has no grouping, the name of the element is Detail. All items in the detail rows are saved as sub-elements or attributes of the group instance element.

DataElementName (Grouping)

DetailsRows

Matrix The following table describes how matrices are saved by the XML export option. The matrix is saved as an element. Saved as The name of the matrix element. If DataElementName is not specified, the name of the DataElementName element is the name of the matrix in the RDL. Corner RowGrouping All items in the corner are saved as sub-elements or attributes of the matrix element. The first RowGrouping element is saved as a sub-element of the matrix element. Each subsequent RowGrouping element is saved as a sub-element of the group instance for the previous RowGrouping element. This results in nested groups of data. The first ColumnGrouping element is saved as a sub-element of each group instance for the last RowGrouping element. Each subsequent ColumnGrouping element is saved as a subelement of the group instance for the previous ColumnGrouping element. RDL element

ColumnGrouping

MatrixCell

The Cell sub-element within each group instance for the last ColumnGrouping element. All items in the matrix cell are saved as sub-elements or attributes of the Cell element.

RowGrouping The following table describes how row groupings are saved by the XML export option. A row grouping is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the row grouping element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". This is not used for static row groupings. The name of the group instance element. Group instance elements are sub-elements of the row grouping element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. For static row groupings, the name of the element is the value of DataElementName for the text box in the group header is used. If there is no text box for a static row header, the name of the element is RowN where N is a number assigned to the row grouping. All items in the row grouping are saved as sub-elements or attributes of the parent of the row grouping element. A sibling element to the row grouping element. This element contains a matrix cell. The name of this element is the name specified in the DataElementName element for the subtotal. If no name is specified, the name of the element is Total.

DataElementName (Grouping)

ReportItems

Subtotal

Note: Subtotals are not saved by default. The XML export option saves subtotals only if the value of the DataElementOutput RDL element for the subtotal is Output. ColumnGrouping The following table describes how column groupings are saved by the XML export option. A column grouping is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the column grouping element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". This is not used for static column groupings. The name of the group instance element. Group instance elements are sub-elements of the column grouping element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. For static column groupings, the name of the element is the value of DataElementName for the text box in the group header is used. If there is no text box for a static column header, the name of the element is ColumnN where N is a number assigned to the column grouping. All items in the column grouping are saved as sub-elements or attributes of the parent of the column grouping element. As a sibling element to the column grouping element. This element contains a matrix cell. The name of this element is the name specified in the DataElementName element for the subtotal. If no name is specified, the name of the element is Total.

DataElementName (Grouping)

ReportItems

Subtotal

Note: Subtotals are not saved by default. The XML export option saves subtotals only if the value of the DataElementOutput RDL element for the subtotal is Output. To better understand how the XML export option saves the Report Definition Language (RDL) elements in a report as a XML file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online.

RDL Elements and Attributes in XML [Report Builder] :When a report is saved as an XML file, Report Builder needs to translate the report definition language (RDL) into XML. The XML export option saves report items as elements or attributes in an XML document. Each element can have a set of attributes or sub-elements associated with it. The attributes or elements vary depending on the report item. This topic discusses what the RDL schema is changed to when saved as XML. Report Report is the XML root node. It contains attributes that specify schema information for the XML document and the report name. The XML Schema (XSD) is specified in the XML root node as follows: Copy Code <Report xmlns="SchemaName" xmlns:sxi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="SchemaName ReportURL&rs:ImageID=SchemaName" Name="ReportName"> The following table describes how the attributes and elements in the Report RDL element are saved by the XML export option. RDL attribute Name Saved as The Name attribute of the root element.

Text Boxes The following table describes how text boxes are saved by the XML export option. The text box name and value are saved as an element or as an attribute depending on the value of the DataElementStyle RDL element for the text box. Saved as The name of the text box element or attribute. If DataElementName is not specified, the DataElementName default name is the name of the text box in the RDL. Value The value of the data in the text box. RDL element

Table The following table describes how tables are saved by the XML export option. The table is saved as an element. Saved as The name of the table element. If DataElementName is not specified, the name of the DataElementName element is the name of the table in the RDL. TableGroup The first TableGroup element is saved as a sub-element of the table element. Each subsequent TableGroup element is saved as a sub-element of the group instance for the previous TableGroup element. This results in nested groups of data. A sub-element of each group instance for the last TableGroup element. If there are no table groups, Details is saved as a sub-element of the table element. RDL element

Details

TableGroup The following table describes how table groups are saved by the XML export option. The table groups are saved as elements. RDL element Saved as

DataCollectionName (Grouping) DataElementName (Grouping) Header

The name of the table group element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". The name of the group instance element. Group instance elements are sub-elements of the table group element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. All items in the header are saved as sub-elements or attributes of the group instance element.

Details The following table describes how the attributes and elements in the Details RDL element are saved by the XML export option. Details is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the details element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". If Details has no grouping, the name of the element is Detail_Collection. The name of the group instance element. Group instance elements are sub-elements of the details element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. If Details has no grouping, the name of the element is Detail. All items in the detail rows are saved as sub-elements or attributes of the group instance element.

DataElementName (Grouping)

DetailsRows

Matrix The following table describes how matrices are saved by the XML export option. The matrix is saved as an element. Saved as The name of the matrix element. If DataElementName is not specified, the name of the DataElementName element is the name of the matrix in the RDL. Corner RowGrouping All items in the corner are saved as sub-elements or attributes of the matrix element. The first RowGrouping element is saved as a sub-element of the matrix element. Each subsequent RowGrouping element is saved as a sub-element of the group instance for the previous RowGrouping element. This results in nested groups of data. The first ColumnGrouping element is saved as a sub-element of each group instance for the last RowGrouping element. Each subsequent ColumnGrouping element is saved as a subelement of the group instance for the previous ColumnGrouping element. The Cell sub-element within each group instance for the last ColumnGrouping element. All items in the matrix cell are saved as sub-elements or attributes of the Cell element. RDL element

ColumnGrouping

MatrixCell

RowGrouping The following table describes how row groupings are saved by the XML export option. A row grouping is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the row grouping element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". This is not used for static row groupings.

DataElementName (Grouping)

The name of the group instance element. Group instance elements are sub-elements of the row grouping element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. For static row groupings, the name of the element is the value of DataElementName for the text box in the group header is used. If there is no text box for a static row header, the name of the element is RowN where N is a number assigned to the row grouping. All items in the row grouping are saved as sub-elements or attributes of the parent of the row grouping element. A sibling element to the row grouping element. This element contains a matrix cell. The name of this element is the name specified in the DataElementName element for the subtotal. If no name is specified, the name of the element is Total.

ReportItems

Subtotal

Note: Subtotals are not saved by default. The XML export option saves subtotals only if the value of the DataElementOutput RDL element for the subtotal is Output. ColumnGrouping The following table describes how column groupings are saved by the XML export option. A column grouping is saved as an element. RDL element DataCollectionName (Grouping) Saved as The name of the column grouping element. If DataCollectionName is not specified, the name of the element is the name specified in the DataElementName element plus the string "_Collection". This is not used for static column groupings. The name of the group instance element. Group instance elements are sub-elements of the column grouping element. If DataElementName is not specified, the name of the element is the name of the grouping in the RDL. For static column groupings, the name of the element is the value of DataElementName for the text box in the group header is used. If there is no text box for a static column header, the name of the element is ColumnN where N is a number assigned to the column grouping. All items in the column grouping are saved as sub-elements or attributes of the parent of the column grouping element. As a sibling element to the column grouping element. This element contains a matrix cell. The name of this element is the name specified in the DataElementName element for the subtotal. If no name is specified, the name of the element is Total.

DataElementName (Grouping)

ReportItems

Subtotal

Note: Subtotals are not saved by default. The XML export option saves subtotals only if the value of the DataElementOutput RDL element for the subtotal is Output. To better understand how the XML export option saves the Report Definition Language (RDL) elements in a report as a XML file, you might want to learn more about the elements. For more information about RDL elements, see the Report Definition Language topic in SQL Server Books Online.

Printing a Report [Report Builder] :-

After you design and run your report, you can print it. To print your report, use the print buttons available on the Run toolbar that appears in the Report Builder run mode window. You can specify the number of copies to print, select which printer to use, and specify the page orientation and margins. Setting Print Page Margins The page size displayed in design or run mode is different from the page size used to print the report. When designing the report, the design area displays the print area specified in the Page Setup dialog box minus the

margins. For example, if you specify the page size as 8.5x11 inches and specify 1 inch margins on all sides, the design area is displayed as 6.5x9 inches. These dimensions are indicated by the dotted line that shows the new page break. The full design area size does not change. When this report is printed, the page size used is 8.5x11 with a 1 inch margin specified on each edge of the paper. Default margin settings are .5 on each side. You can specify print page margins in two different locations: the Page Setup dialog box opened from the File menu or by clicking the Page Setup button on the Run toolbar in run mode. If you specify the page setup settings using the Page Setup dialog box, this information is saved in the report definition when the report is saved. When you set the Page Setup dialog box settings, the report is run again. If you specify the print page information using the Page Setup button, this information is not saved in the report definition and the next time you print the report, you will need to indicate your print margins again. Print margins are only displayed in Print Preview, not when viewing the report in Report Builder run mode. Printing from the Report Server If you save the report to the report server, the report can be run and then printed from the server as well. To learn more about printing a report on the report server, see Microsoft SQL Server Books Online. Previewing a Report Before Printing [Report Builder] :Before printing a report, you can see how the report will appear when printed by using Report Builder's print preview functionality. Print Preview To preview a report, click the Print Layout button on the Run toolbar displayed in run mode. Clicking the Print Layout button displays the entire first page of the report with the data positioned as it will appear when printed. You can navigate between pages using the Previous and Next arrows. To exit Print Preview, click the Print Layout button again and the report appears as it did when it was rendered. Adjusting Page Settings You can change the print margins, paper size, and orientation that will be used to print the report while previewing the report. While previewing the report, click the Page Setup button to adjust the page settings. Make the desired changes in the Page Setup dialog box and then click OK. Changes to the report print page are displayed print preview. These changes are not saved with the report definition. Keyboard Shortcuts [Report Builder] :When you work in Report Builder, you have access to all the shortcut keys for navigation that are provided by the Windows environment. You can select from several standard keyboard mapping schemes, or customize the mapping scheme by adding or changing keyboard shortcuts. You can navigate through the Report Builder window, or select and change options in dialog boxes, without using the mouse. For example, to view the Getting Started pane in the Report Builder window, you can press Ctrl+F1. Report Builder provides many shortcut menus for quick access to frequently used dialog boxes and commands. Shortcut menus are dynamic and may contain different options, depending on the user configuration and the current objects. As you explore Report Builder, make sure you right-click objects to explore the menu options and learn about these shortcuts. Note: Shortcuts can contain the SHIFT, ALT, and/or CTRL keys in combination with letters or, use function keys, for example, F1 opens the Report Builder Help file. Keyboard Shortcuts in Report Builder Description Key Combination

Open the File menu Create a new report Open a new report Save a report Save as Open from file Open the Page Setup dialog box Exit Report Builder Open the Edit menu Undo <action> Redo <action> Delete Delete Group Search Open the View menu Design Report Run Report Open the Toolbar submenu Show/hide the Standard toolbar Show/hide the Formatting toolbar Show/hide the Borders toolbar Show/hide the Report toolbar Show/hide the Explorer pane Show/hide the Task pane Advanced Explorer Open the Insert menu Insert a text box Insert a Filter description text box Inserts a Total Row Count text box Open the Format menu Open the Format dialog box with the Number tab selected Open the Format dialog box with the Alignment tab selected

Alt+F Ctrl+N Ctrl+O Ctrl+S Alt+F and then press A Alt+F and then press V Alt+F and then press U Alt+F and then press X Alt+E Ctrl+Z Ctrl+Y Delete key Alt+E and then press G Ctrl+E Alt+V F8/Alt+V and then press S F5/Alt+V and then press R Alt+V and then press T Alt+V, press T and then press S Alt+V, press T and then press F Alt+V, press T and then press B Alt+V, press T and then press R Alt+V and then press E Ctrl+F1/Alt+V and then press K Alt+V and then press V Alt+I Alt+I and then press T Alt+I and then press L Alt+I and then press C Alt+O Alt+O and then press N Alt+O and then press A

Open the Format dialog box with the Font tab selected Open the Format dialog box with the Border tab selected Open the Format dialog box with the Fill tab selected Open the Format dialog box with the Picture tab selected Open the Report menu Open the Filter dialog box Open the Define Formula dialog box Open the Sort and Group dialog box Open the Report Properties Open the Help menu Open the Report Builder Help file View the About Report Builder information Enter text edit mode within a selected text box and cell. Exit text edit mode Exit the text box. Working with Report Model QueryDesigner :-

Alt+O and then press F Alt+O and then press B Alt+O and then press F Alt+O and then press P Alt+R Ctrl+F Ctrl+E Ctrl+S Ctrl+P Alt+H F1/Alt+H and then press R Alt+H and then press A F2 Esc Enter

In Microsoft SQL Server 2008 Reporting Services, you can author reports based on report models by using Report Builder, Report Designer Preview, or Report Designer. Report Builder is a tool that is used to create ad hoc reports based on report models and uses a subset of the report definition language (RDL) available in Reporting Services. Report Designer is an advanced report authoring tool that uses the full functionality of RDL, enabling you to create complex reports from a variety of data sources, including relational and multidimensional databases, XML, and report models. Report Designer Preview is a tool that is used to create reports on the client computer. Report Designer Preview has all the functionality of Report Designer without requiring you to use Business Intelligence Development Studio. When building a report model query in Report Designer or Report Designer Preview, you use a tool available in Report Designer called Report Model Query Designer. With Report Model Query Designer, you can create queries based on models by dragging entities and fields to a design surface similar to the one in Report Builder, resulting in a query composed of report model metadata. When you finish building the report model metadata for your query, it is incorporated into the RDL of your report where you can organize and format the contents just like any other report. For example, you can create a report that contains conditional formatting, includes multiple datasets, and contains multiple data regions using different queries within a single report. When you render the report, the query is translated on the fly. Before attempting to access the Query Designer, you must successfully create a report model and deploy it to a report server or SharePoint site. Query Designer can be accessed when the model is selected. When creating your data source, specify Report Server Model and then provide a valid connection string. When using a report model located on a report server in native mode, use a connection string in the following format: Server=http:// <servername> /reportserver; datasource=/ <modelpath> / <modelname> For example: Server=http://myreportservername/reportserver; datasource=/models/Adventure Works

When using a report model located on a report server in SharePoint integrated mode, you must specify the fully qualified URL to the model. Use a connection string in the following format: Server=http://<servername>; datasource=http://<MySharePointSite>/<site>/<Document Library>/<MyFolder>/<modelname> For example, Server=http://myreportservername; datasource=http://TestSharePointSite/Site/Documents/Models/Adventure Works.smdl Working with Parameters (Report Model Query Designer) When you create model-based reports using Report Model Query Designer, you can use the report, query, or dataset parameter functionality that is available to all query designers in SQL Server Business Intelligence Development Studio. You can use an unlimited number of parameters in your reports. Important: Parameters are not used for row-level security; they do not prevent users or groups of users from seeing specific rows of data. To apply security to the data displayed within a report, you need to use security filters or model item security. For more information about using security filters, see Tutorial: Applying Security Filters to Report Model Items. To add parameters to your report in the Report Model Query Designer 1. Open the Filter Data dialog box and create a filter clause. 2. Click the entity or field that you want to use as a parameter and select the Prompt option. A placeholder parameter is added to the report RDL and semantic query. 3. In Business Intelligence Development Studio, select Report Parameters from the Report menu. The Report Parameters dialog box opens and you can modify the placeholder parameter functionality. For more information about report parameter functionality, see Adding Parameters to Your Report. To learn how to work with parameters in Report Designer, see Tutorial: Adding Parameters to a Report.

You might also like