Microsoft SQL Server Reporting Services Dave Henson dhenson@certifiednetworks .com
Microsoft SQL Server Reporting Services Dave [email protected]
Why Use SSRSSecure Deployment of Professional ReportsAccessible Anywhere web basedDefine one report, render to many formatsHtmlPdfXmlIntegrated with SQL 2008Easily extensible for .net developers
Course OutlineModule 1: Introduction to Microsoft SQL Server Reporting Services(SSRS)Module 2: Authoring Basic ReportsModule 3: Enhanced ReportingModule 4: Manipulating Data SetsModule 5: Managing ContentModule 6: Administering SSRSModule 7: Programming SSRS
Course LogisticsClass Format50% Lecture & Demonstrations50% LabCourse DatesCourse HoursLunch
DefinitionsSSRSRDLXMLBusiness Intelligence (BI)OLTPOLAPOLEDB.Net
IISSQLVisual Studio .Net 2005
Reporting LifecycleAuthoring to create .rdl fileManagementSecurityDeploymentDeliveryPull Report ManagerCustom AppPushEmailCustom App
Reporting Services ScenariosInternalExternalEmbedded online portal
Standard vs. Ad-hoc Reports
Delivery and Rendering OptionsHTML, MHTMLPDF, TIFFCSV, XMLCustom .Net Rendering
Content:Standard, Crosstab, Charting, Graphics
Real time or scheduled as a task
SSRS ArchitechtureReport Serverhttp://localhost/reportserver
Report Managerhttp://localhost/reports
SSRS ComponentsApplication layerReport AuthoringStandardAd HocReport Server ManagementServer LayerReport ServerReport ProcessorData LayerAny OLEDB Datasource
Authoring ComponentsReport designer templates added to Visual Studio during installReport BuilderThin client .net app installed through browsingUses a published report model to build queryReporting Services API for authoring
Management ComponentsSSRS Configuration ToolReport ManagerCommand LineRsconfigRsRskeymgmtSSRS API
Report Delivery ComponentsReport ManagerReport ProcessorScheduling and Delivery Processor
Server ExtensionsSSRS fully exposed through .net librariesExtensibilityAuthenticationData ProcessingReport ProcessingRenderingDelivery
InstallationPrerequisitesWindows Server (2003/2008)IISSQL Server local to machine or otherwiseVersionsWorkgroup(Express)StandardEnterpriseTrial
Server ConfigurationIISSecurity AccountsSSRS Config ManagerSSRS Services and accountsWindows ServiceWeb ServiceImpersonation
SSRS Quick TourDemonstration of basic reporting:Create BI ProjectAdd DatasourceAdd DatasetDesign ReportDeploy Report
Module 2: Authoring Basic Reports
Visual Studio 2008 New BI Project
Data Source Setup
Adding the dataset
Structuring Data in the Report
Report Layout and Presentation
Publishing the Report
Managing the Report
Accessing the Report
Module 3: Enhanced Reporting
ParametersReplace items in where clause with sql named parameters
Use a query to populate a dropdown for the parameter
FormattingUse .Net formatting rules in the format property:
0N = number: 100.990C = money: $100.99
FiltersBlanket reduction of rows returned from the dataset
Data RegionsAreas on report with repeated data:Table: fixed columnsMatrix: variable columnsList
Subreports
ActionsLink a report item to data stored elsewhereReportUrl (.aspx, .php, .htm)
VisibilityUse Hidden property to hide fields, rows, etc.
Use the ToggleItem property for interactive control of visibility
Recursive GroupsUsing Parent Grouping in the Grouping Properties for recursive display
Use the Level function to identify the relationship of the current row to the top row=Level(RecursiveGroup)
Module 4: Managing Datasets
IIS SessionReport execution is stored by default in user session
Cached instances share the report across multiple sessions(multiple visitors)
Working with a shared scheduleCreate a master schedule used by a series of reports for updating cached information
Snapshot ReportsReport is executed on a scheduled basis and delivered to a folder
Report parametersParameters used as a filter can be used against the snapshot data
Calculation LoadStructure of your query defines the load point of running the report:SQL BackendReporting Services Engine
Manual CachingRunning an SQL job to create a table with the results of a reportPre-aggregating
Module 5: Managing Content
Publishing ContentReport DesignerReport Manager
SQL Server Management Studio
Rs.exe and .rss file
.Net libraries
Enabling User ReportsEnable a My Reports folder for each user
Report Builder.net library delivered over the web
Allows power users to create their own reports
Requires a report model be published by adminDescribes tables and relationshipsPublished as SMDL fileData Source View (DSV) enables subset of base data
Reverse-Scripting ObjectsVisual Studio Script Generation
.rss script file can be used with the rs.exe utility
Data SourcesUpdates needed through timeReport ManagerVisual Studio .Net 2005
Configuring Snapshot Reporting
Snapshot Report HistoryViewingConfiguring
Report SubscriptionsSupports the push model of reporting
Cross Platform ReportingSee web for fixes on your platformYou must test all os/browser platforms
Example: FirefoxWidth: single pixel clear gif, width of 6.5 inHeight: modify reportingservices.css.DocMapAndReportFrame{min-height: 860px;}
Module 6: Administering SSRS
Reporting Services Files and FoldersC:\program files\Microsoft SQL Server\MSSQL.3\Reporting Services
C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\ReportServer\bin\ReportingServicesService.exe.config
Reporting Services DatabasesReportServer.dbo.ExecutionLog
Trace Log FilesC:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services\LogFiles
Configure logging level in the ReportinServices.exe.config file
SSRS Windows Performance CountersMSRS 2005 Web Service CountersMSRS 2005 Windows Service Counters
TimeoutsConnection:Connection TimeoutCommand TimeoutLock Timeout
Report Execution Timeout
Suspending JobsSubscriptionsShared Schedules
SSRS Database AdministrationRole of the databaseBackup Schedule
Security: Authorization ModelSQL Server LoginsTrusted NontrustedDefault Settings trusted onlyNeed to modify for snapshot execution
Assigning RolesWindows Accounts
Using runas for testingCtrl right click internet explorerChoose runasSupply another windows login for execution
Item-Level Role DefinitionsBrowserContent ManagerMy ReportsPublisherReport Builder
Folder Security
Site SecuritySystem AdministratorSystem User
Module 7: Programming SSRS
SSRS ExtensibilityClient Reporting InterfaceManagement/Administration
Custom Reporting Objects
ToolsReporting Services Command PromptRs.exeRsconfig.exe
Compilers:Csc.exeVbc.exe
HTTP ProtocolHTTP Post
HTTP Get
WebForms
Custom Web Reporting PortalAdd Parameters to url:&rc:ParmName=ParmValue
To Hide parameters&rc:Parameters=false&rc:Toolbar=false
Other control features&rc:Zoom=75&rc:Zoom=Whole Page&rc:Extension=.TXT&rs:format=EXCEL
Reporting Services API.Net LibrariesWeb Services
Example Client Code public Form1() { InitializeComponent();
//add reference to Microsoft.ReportViewer.WinForms //add namespaces System.Data.SqlClient and Microsoft.Reporting.WinForms;
this.ClientSize = new System.Drawing.Size(950, 600);
ReportViewer reportViewer = new ReportViewer();
// Set Processing Mode reportViewer.ProcessingMode = ProcessingMode.Local;
Example Contd. // Set RDL file reportViewer.LocalReport.ReportPath = @"c:\tmp\productlist.rdl";
// Supply a DataTable corresponding to each report data source reportViewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", DBUtil.GetProducts()));
// Add the reportviewer to the form reportViewer.Dock = DockStyle.Fill; this.Controls.Add(reportViewer);
// Process and render the report reportViewer.RefreshReport(); }