Está en la página 1de 72

Reporting Service a Fondo

Maximiliano D. Accotto
Maxi.accotto@gmail.com IM: Maxi_adrogue@msn.com

Me desempeo como consultor en SQL Server desde mi empresa CONDUIT brindando servicios a distintas compaas de argentina y el Exterior.

Poseo mas de 12 aos de experiencia trabajando en distintos proyectos sobre esta tecnologa como as tambin en el desarrollo de Aplicaciones y gestin de proyectos.
Actualmente soy reconocido por Microsoft con el titulo MVP (Mejor profesional) en SQL sumndome a un grupo de aproximadamente 80 personas con el mismo ttulo en todo el mundo. Soy orador frecuente para el MUG de argentina como as tambin para los eventos de Microsoft Latan (Lanzamientos, webcast, technight, etc.) Tambin me dedico a escribir artculos y notas para distintas revistas de argentina y el exterior relacionadas a SQL Server

Es un servicio para el procesamiento de reportes A partir de la versin 2008 no requiere el IIS El producto viene dentro de la suite de SQLServer en todas sus ediciones sin costos adicionales Se puede instalar el servicio en un servidor distinto al relacional. Pertenece al grupo de herramientas de BI Utiliza un formato abierto para la definicin llamado RDL

Diseo de distintos tipos de reportes (Tabulares, Matriz, Tablix, Grficos y planos) Soporte de informes Ad-hoc mediante modelos Distintos tipos de datasource (Oracle, SQL, Teradata, As400, Analysis service, custom) Exportacin a distintos formatos (Word, Excel, Pdf, Csv, Html , Tiff, Custom). Los reportes se pueden consumir de distintas formas (Http, web service, wmi o va componentes en .NET)

Mayor productividad en el desarrollo de reportes. Reportes en tiempo real e interactivos Totalmente extensible va .NET Utiliza un formato abierto (RDL) Se integra de forma simple a nuestras aplicaciones y a productos como SharePoint Ayuda a nuestra organizacin a centralizar informes en una plataforma robusta. Es muy simple de utilizar por los usuarios finales. Tiene los conceptos y herramientas de cualquier herramienta servidor (seguridad, performance, escalabilidad, etc.) Para el desarrollo de reportes no se requiere conocimientos de programacin.

BUSINESS USER EXPERIENCE

BUSINESS PRODUCTIVITY INFRASTRUCTURE

DATA INFRASTRUCTURE & BI PLATFORM

Report Designer Model Designer

Browser
Report Manager Report Viewer

Microsoft Office

Custom Applications

Report Builder

Programmatic Interfaces: XML Web Service and URL Access Report Server
Report Builder Query generation Drill-through Report generation

Report Sources
Output Formats

Report Processing Data Processing Rendering Security Delivery

Security Services Delivery Channels

Report Server Databases

Report Designer Model Designer

Browser
Report Manager Report Viewer

Microsoft Office

Custom Applications

Report Builder

Programmatic Interfaces: XML Web Service and URL Access Report Server
Report Builder Query generation Drill-through Report generation

SharePoint
Report Server Proxy Endpoint

Report Sources

Report Processing Data Processing

Document Mgmt

Output Formats

Rendering
Report Server Databases

Delivery

Security
SharePoint Content Database

Collaboration
Config Database

HTTP Listener
Usa HTTP.SYS directamente desde el SO Acepta requests directamente

Authentication Layer
Confirma la identidad asociada a un request Soporte para Windows, Basic, or Anonymous Access with a custom authentication

Application Domains
Provee un componente front-end con Report Manager Procesa los reportes de forma interactiva con Report Server Web service Soporte para operaciones programadas en background

Aplicacin Domain Management


Reemplaza la funcionalidad del IIS

Memory Management
Monitors thread processing Extensin del SQL Server memory management features

SQL Server Service Platform


Provee una interface de networking para los HTTP requests. Soporte para SQL CLR for ASP.NET y Microsoft .NET Framework.

RPC
Comunicacin con el proveedor de WMI

Implementado como una aplicacin ASP.NET Web Service Acceso para administrar y gestionar
Report Manager o Management Studio RSS Script o desarrollo de interfaz embebida en una aplicacin

Acceso de los usuarios para usar o renderizar reportes


Va URL desde Report Manager. Programando una interfaz desde una aplicacin embebida

Implementado como una aplicacin ASP.NET Web Service Ejecutado por los administradores para configurar
Report Server Properties Report execution Properties Seguridad

Ejecutado por los usuarios para


Explorar y ver reportes Subscribir a los reportes Ejecutar Report Builder

Windows Types
RSWindowsNegotiate (Default) RSWindowsKerberos RSWindowsNTLM RSWindowsBasic

Custom
Anonymous requests only Requiere ASP.NET Forms authentication. Requiere modificacin en el Web.config

Data

Table Tablix Matrix List Chart Chart

Group

Calcs

Soft Page Layout

HTML

Webforms HTML Winforms

Excel

Storage

ROM

Data

CSV
XML Image

Image

Hard Page Layout

Print Image

PDF

Reporting Service configuration


Herramienta para configurar los seteos de servicios y configuraciones generales de RS

Management Studio
Es una de las herramientas para el administrador de RS la cual nos permitir gestionar la seguridad, los reportes, las carpetas, etc.

Lnea de comandos
Rsconfig: Management de conexiones Rs: Utilidad para hacer deploy o copia de reportes entre servidores Rskeymgmt: Utilidad para el manejo de encryption key (backup Restore Cambios)

BIDS (Business Intelligence Development Studio)


Herramienta para el diseo de informes Si se dispone de VS se integra de forma automtica. Viene dentro de la suite de SQL Server

Report Builder
Herramienta para el diseo de reportes Ad-hoc usando modelos. Esta herramienta esta diseada y pensada para que los usuarios finales puedan desarrollar sus propios reportes.

Authoring Reports Managing Reports

Delivering Reports

Data access para una variedad de fuentes de datos.


SQL Server / Analysis Services / OLE DB / ODBC / XML / Oracle / Teradata Report models

Report Definition Language (RDL)


Query definitions Table / Matrix / List / Chart data regions Expresiones Features interactivas

Opciones para disear


BIDS / Visual Studio Report Builder

Es un formato XML, el cual representa la definicin del reporte.

Es abierto y esta publicado


http://www.microsoft.com/sql/technologies/reporting/rdlspec.mspx

Son las definiciones a los orgenes de datos

Pueden ser compartidos (al definirlos as se podrn utilizar en varios proyectos y reportes).
Puede haber cuantos necesitemos

Es utilizado como contenedor de datos Se le definen distintas propiedades


Datasource (si es compartido o no) Nombre Command Type (Querys o Stores Procedures) Query String Time out Campos y customizaciones sobre ellos. Parmetros.

Su visibilidad es para cada reporte

Tabla Matrz Grficos (chart o Gauge)

Libres (en blanco, por ejemplo una Orden de Pago)


Combinados (usando distintos tipos de controles)

Data Region
Vinculados a dataset
Table Matrix List Chart Gauge (nuevos en 2008)

Report Items
Independientes al dataset
Textbox Line Rectangle Image Subreport

Nmero de columnas fijas Nmero de filas dinmico dependiendo del dataset Soporte para grupos y ordenamiento. Por cada fila o columna se puede customizar el formato Se puede hacer merge de celdas
Table header Group header Detail row

Group footer
Table footer

Group header

Table header

Detail Row

Group footer

Nmero de columnas y filas dinmicas dependiendo del Dataset Funcionalidad similar a una tabla dinmica Los grupos pueden incluir subtotales

Corner contains static text

Dynamic column group headers

Dynamic row group headers

Detail cells contain aggregate functions

Dynamic column group headers

Dynamic row group headers

Detail cells contain aggregate functions

Lo mejor de los dos mundos (Matrix y Table) Lo mejor de matrix


Varios miembros de fila/columna paralelos en cada nivel Cada miembro puede ser dinmico o esttico Omisin opcional de los encabezados de los miembros

Lo mejor de Table
Grupos de columna anidados, dinmicos Varios grupos de fila paralelos Filas estticas Encabezados de fila espaciados opcionales

2005 WA Seattle Spokane O Portland Eugene 50 30 40 20

2006 60 40 50 30 WA Seattle Spokane

Mesa 20 10

Silla 30 20

Actual

Portland
Eugene

10
25

10
5

Ao

Producto

Deseado
WA Seattle Spokane

2005
50 30

2006
60 40

Mesa
20 10

Silla
30 20

Portland
Eugene

40
20

50
30

10
25

10
5

Soporte de un flexible Layout


Combinacin de mltiples data region Disposicin Free Form del Report item Data region anidadas

Repeticiones con cada grupo o fila en el dataset

Template

Template

Muestra grficamente la representacin de los datos. Soporte para distintos tipos de grficos Soporte de series calculadas Se pueden tener ms de una serie con su respectivo tipo de grfico. Soporte para doble eje

Column
Column (3-D), Stacked (3-D), 100% Stacked (3-D), Clustered (3-D), Cylinder (3-D) , Stacked Cylinder (3-D), 100% Stacked Cylinder (3D), Clustered Cylinder (3-D)

Bar
Bar, Stacked (3-D), 100% Stacked (3-D), Clustered (3-D) Stacked Horizontal Cylinder (3-D), Stacked 100% Horizontal Cylinder (3-D), Clustered Horizontal Cylinder (3-D)

Line
Line (3-D), Smooth Line, Stepped Line, Line with Markers, Smooth Line with Markers

Shape
Pie (3-D), Exploded Pie (3-D), Doughnut, Exploded Doughnut, Funnel (3-D), Pyramid (3-D)

Scatter Bubble Polar


Polar, Radar (3-D)

Pareto Histograms

Area
Area (3-D), Smooth Area (3-D), Stacked, 100% Stacked (3-D)

Range
Smooth, Range Column, Range Bar, Stock, Candlestick, Error Bar, Boxplot

Desglos e de escalas

Efectos de tramas Estilos de dibujo

Varias leyendas

Series calculadas
Lneas Varias reas para grficos

Son nuevos en SQL 2008 Existen dos tipos


Lineales Radiales

Escenarios de uso Usualmente enlazado con un slo punto o unos pocos puntos de datos (valor, objetivo, meta, etc.) Perfecto para KPIs

Gauge Panel

Bscula

Rangos

Pointer

Frame

Gauge radial

Gauge lineal

Contienen expresiones
Textos estticos Referencias a otros textbox Referencia a un campo del dataset Soporte de texto enriquecido

Dispone de una variedad de opciones de formato


Font Borders Color and Background color Padding Can grow Visibility

Storage de imgenes
En el Report Server En el WEB server Embebido en los reportes Desde una base de datos

Uso de imgenes
Para poner por ejemplo un logo Pictures asociadas a un registro de datos Como Background de otro tipo de controles

Usado basicamente para poder mostrar otro reporte de forma embebida dentro del body

Nos permiten escribir cdigo. Son extensibles va .NET Pueden hacer referencia a un assemblie Se las utiliza en la mayor parte de las propiedades de los tems , controles y reportes. Se las clasifica en las siguientes secciones
Fields Globals Parameters ReportItems User

Escritura simple de expresiones Provee acceso para


Global collections Operators Common functions

Propiedades Dinmicas habilitadas

=Today() =Feb-2008Add(Feb-2008Interval.Month, 6, Parameters!StartFeb-2008.Value) =Globals!PageNumber & " of " & Globals!TotalPages =Iif(Fields!Profit.Value < 0, "Red", "Black") =Switch(Fields!PctComplete.Value >= .8, "Green", Fields!PctComplete.Value >= .5, "Amber", Fields!PctComplete.Value < .5, "Red")

=Code.CalculateQuarterlyCommission(Fields!SalesAmoun t.Value)

Son usados para poder restringir los datos a consultar. Se les debe definir el tipo de dato adecuado Soportan valores por defecto y valores disponibles Se los puede invocar luego desde la query / Store o desde alguna expresion. Pueden tomar valores de otros parametros
SELECT * FROM dbo.vReportSalesPersonSummary WHERE CalendarYear = @Year AND CalendarQuarter = @Quarter

Propiedades
Name Data type Prompt Multi-value Available values
Non-queried From query

Default values
Non-queried From query Null

Se los puede usar en tablas , matrix y tablix

Soporte para tres tipos de links


Jump to Report for drillthrough reports Bookmarks Jump to URLs for hyperlinks

Habilita para que el usuario pueda ordenar de forma interactiva Se puede definir para el rden de una tabla, matrix o tablix. Se debe definir por qu campos el usuario puede ordenar Trabaja slo con reportes renderizados en HTML

Se puede agregar cdigo embebido en VB.NET Automticamente se generan las referencias a


Microsoft.VisualBasic System.Convert System.Math

El cdigo se lo puede luego utilizar en cualquier expresin

Public Function CalculateQuarterlyCommission(TotalSales As _ Decimal) As Decimal Dim commission As Decimal

If (TotalSales <= 200000) Then commission = TotalSales * 0.025 ElseIf (TotalSales <= 500000) Then commission = 5000 + ((TotalSales - 200000) * 0.015) Else commission = 8750 + ((TotalSales - 500000) * 0.01) End If Return commission
End Function

=Code.CalculateQuarterlyCommission(Fields!SalesAmount.Value)

Puede referenciar un assemblie en cualquier lenguaje (no solo VB.NET como las extensiones de cdigo)

Podr hacer una llamada esttica o bien a un mtodo de instancia


Debe hacer el deploy en el report server bin folder

HTTP Listener

BI Developer Studio / Report Designer Client


Upload

Report Manager
Report Server MSSQL
RDL

Report Designer
Deploy

RS Utility

Report Server Catalog

Script

BIDS o Visual Studio Via Script (RSS)


rs i PublishReports.rss s http://<server>/ReportServer

Accediendo va un navegador HTML


http://<server>/Reports Navegacin entre reportes y sus funciones.

Usando un visor HTML


Ver reportes online en formato HTML Seleccionar parmetros si es aplicable Usar el toolbar report para explorar y cambiar las opciones de visualizacion.

Notas: VS 2005 y 2008 disponen de componentes para web y winforms

Mostrar reporte
http://<server>/ReportServer?/Adventure Works Sales/Sales Person Directory

Sobreescribir parmetros
http://<server>/ReportServer?/Adventure Works Sales/ Sales Person Directory&EmployeeKey=289

Pasando parmetros
http://<server>/ReportServer?/Adventure Works Sales/ Sales Person Directory&EmployeeKey=289 &rc:Parameters=false&rc:Toolbar=false

Ver todo el contenido de BI


Acceder a los reportes en report center Intregarlos con otro tipo de contenido Colaboracin, workflow y track de versiones

Manejando SSRS usando Sharepoint


El reportserver namespace y la seguridad estarn en la base WSS content Se adiciona nueva metadata para el manejo de subscripciones, schedules y caching en la base de datos del reportserver.

NameSpace para visualizar reportes y administrar a RS


ReportExecution2005: procesamiento y render de reportes ReportService2005: Administracin de SSRS ReportService2006: Administracin de SSRS in SharePoint integrated mode

En los web service se dispone de todas las funcionalidades de SSRS

Dim rs As New ReportExecution.ReportExecutionService() rs.Credentials = System.Net.CredentialCache.DefaultCredentials Dim Dim Dim Dim Dim Dim format As String = "PDF" deviceInfo As String = Nothing extension As String = String.Empty encoding As String = String.Empty mimeType As String = String.Empty warnings() As ReportExecution.Warning = Nothing

Dim streamIDs() As String = Nothing Dim results() As Byte

Dim parameters(0) As ReportExecution.ParameterValue parameters(0) = New ReportExecution.ParameterValue() parameters(0).Name = "EmployeeKey" parameters(0).Value = -1


rs.LoadReport("/Sales/Sales Person Directory", Nothing) rs.SetExecutionParameters(parameters, "en-us")

results = rs.Render(format, deviceInfo, extension, encoding, mimeType, warnings, streamIDs)


' Do something with results...

Se debe definir un proyecto de reportModel al cual se le crean los datasource, dataviews y modelos. Los usuarios finales pueden usar ReportBuilder para el diseo de reportes aplicados a un modelo
En las mquinas clientes slo es necesario en Net 2.0

La ventaja es que se integra con toda la plataforma

Se pueden crear distintas extensiones


Componentes Renders Datasource Seguridad Delivery

Son solicitudes permanentes para entregar informes a una hora concreta o en respuesta a un evento. Permiten programar la entrega de reportes Hay dos tipos de subscripciones
Standard Controladas por datos

Subscripciones Standard
Son creadas y administradas por usuarios individuales Tiene valores estticos que no se pueden modificar durante su procesamiento. Para cada una existe un nico conjunto de opciones de presentacin, entrega y parmetros

Subscripciones controladas por datos


Son dinmicas Los valores de presentacin, entrega y parmetros se obtienen en tiempo de ejecucin de un origen de datos Requiere conocimientos para crear consultas y usar parmetros

Permite sacar una foto del reporte a un momento dado.

Se guarda en la metadata
Luego se puede consumir la foto al igual que otro tipo de reporte.

Se puede limitar cuantas fotos son admisibles para los reportes.