Learn IT 1st

72
Microsoft SQL Server Reporting Services Dave Henson dhenson@certifiednetworks .com

description

Hello!

Transcript of Learn IT 1st

  • 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(); }