reporting services

64

Upload: juan-francisco-fernandez-molina

Post on 02-Jul-2015

348 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Reporting Services
Page 2: Reporting Services

Introducción a Introducción a Microsoft SQL Server Microsoft SQL Server

2000 Reporting 2000 Reporting ServicesServices

Page 3: Reporting Services

Yo (Jordi Rambla – [email protected]) Director técnico de Certia Consultor y profesor de Reporting y BI Mentor Asociado de Solid Quality Learning

Iberoamericana Consultor de P&P,XML, ES y WS en Master UOC Regional Director de Microsoft circa1998-2004 Columnista de DotNetMania y NetVeloper

Certia (http://certia.ramblainf.com) Es la marca de servicios de rambla informàtica

Consultoría, formación y aplicaciones en BI y .NET Trabajando en informática empresarial desde 1985

Page 4: Reporting Services

Trabajos relacionados:

SQL Server 2000 Reporting Services Comparativa con los productos de Crystal Decisions

(BO) Curso para empresa (diseño y administración) Proyecto con RS para MCS

Próximas ediciones del curso Marzo, en Barcelona

Page 5: Reporting Services

Una asociación de expertos en SQL Server y .NET de todo el mundoUna asociación de expertos en SQL Server y .NET de todo el mundo

Itzik Ben-Gan Kalen Delaney Fernando G. Guerrero Michael Hotek Brian Moran Ron Talmage Carl Rabeler Herbert Albert Gianluca Hotz Tibor Karaszi Andrew Kelly

Dejan Sarka Wayne Snyder Eladio Rincón Miguel Egea Jesús López Guillermo Som (El Guille) Daniel Seara Willy Marroquín Antonio Soto Jordi Rambla

Page 6: Reporting Services

Solid Quality Learning University SummitsSolid Quality Learning University Summits ¿Qué son los SQL University Summits?

Intensos, avanzados, esencialmente útiles Temarios aplicados a sistemas empresariales Eventos formativos, no de marketing 3 grupos de sesiones simultáneas 6 seminarios de día completo 9 mentores presentando 42 sesiones En castellano

¿Dónde? Viena (del 28 de Febrero al 4 de Marzo del 2005) Buenos Aires (del 18 al 22 de Abril del 2005) Madrid (del 25 al 29 de Abril del 2005) Barcelona (Mayo 2005); también en:

Milán, Washington DC, Los Angeles, Chicago, Dallas, Monterrey, San Salvador, Singapore, Hong Kong

Page 7: Reporting Services

¿Qué es SQL Server Reporting Services?¿Qué es SQL Server Reporting Services? Plataforma de reporting tanto para informes

tradicionales (en papel) como para informes interactivos

Infraestructura web. Escalable, gestionable y aplicable a soluciones personalizadas

Se integra con SharePoint, Excel, el explorador de internet y otras herramientas habituales

Plataforma única y herramientas para todos los tipos de datos estructurados (relacionales, Jerárquicos y multidimensionales)

Page 8: Reporting Services

Reporting Services

Page 9: Reporting Services

SQL Server CatalogSQL Server Catalog

Report ServerReport Server

Interfaz servicio web XMLInterfaz servicio web XML

Procesador de informesProcesador de informes

DistribuciónDistribución

Destino de entrega(E-mail, carpetas,

propios)

RenderingRendering

Formatos de salida (HTML, Excel, PDF, propio)

Proceso de datosProceso de datos

Orígenes de datos(SQL, OLE DB, XML/A, ODBC, Oracle, propio)

SeguridadSeguridad

Servicios Seguridad(Sistema,

propio)

Office Aplicación propiaNavegador

Arquitectura del productoArquitectura del producto

Page 10: Reporting Services

Escenario empresarialEscenario empresarialOrígenes de

datos

Ficheros, OLE DB, ODBC, .N

ET

Oracle

SQL Server

DB2

ClientesGranja Web Report Server

Windows ServerWindows ServerWindows ServerWindows Server

SQL Server 2000SQL Server 2000SQL Server 2000SQL Server 2000

Metadatos y Cache Informes Cluster

NLB

Report ServerReport ServerReport ServerReport Server

Windows ServerWindows ServerWindows ServerWindows Server

IISIISIISIIS

Windows ServerWindows ServerWindows ServerWindows Server

SQL Server 2000SQL Server 2000SQL Server 2000SQL Server 2000

Report ServerReport ServerReport ServerReport Server

Windows ServerWindows ServerWindows ServerWindows Server

IISIISIISIIS

Report ServerReport ServerReport ServerReport Server

Windows ServerWindows ServerWindows ServerWindows Server

IISIISIISIIS

Page 11: Reporting Services

Beneficios claveBeneficios clave

Plataforma de reporting ampliable

Integración Office Orígenes de datos Escalable, flexible Bajo coste

Page 12: Reporting Services

Creación de informes con SQL Server Reporting Services

Page 13: Reporting Services

Inicio

Page 14: Reporting Services

LayoutLayout

Colocación libre Similar a diseñar un formulario No se basa en bandas, pero puede simular

esa configuración Algunos elementos se expanden al generar el

informe, desplazando a otros elementos Los elementos se pueden anidar

Saltos de página Pueden ser lógicos y físicos Es posible utilizar cabecera y pie de página

Page 15: Reporting Services

Elementos del informeElementos del informe

Textbox

Image

Line

Rectangle

Subreport

Data Regions (List, Table, Matrix, Chart)

100.000€

Page 16: Reporting Services

Propiedades de los elementosPropiedades de los elementosCualquier elemento Background Color* Background Image* Border Color* Border Style* Border Width* Color* Padding*

Textbox Can Grow Font Family* Font Size* Font Style* Font Weight* Format* Hide Duplicates Line Height* Text Align* Text Decoration* Vertical Align*

*Expresiones

Page 17: Reporting Services

Data Regions

Page 18: Reporting Services

ListList

Regiones que se

repiten, con formato libre

Similar a “bandas” Es posible ubicar un List junto a otro

Se pueden anidar para obtener varios niveles de agrupación

Se debe utilizar para construir áreas repetitivas con formato complejo

Brian

Jason

Steve

$10,000

$20,000

$30,000

Page 19: Reporting Services

TableTable

Lista encolumnada Columnas fijas,

filas repetidas Las celdas pueden abarcar varias

columnas Varias filas por registro Las celdas pueden contener cualquier

elemento Más rápidas y ligeras que las List Es más fácil alinear los elementos Es el habitual en la mayoría de informes

Person Region SalesBrian North $10,000

Dan North $20,000

Total North $30,000

Steve East $50,000

Total East $50,000

Grand Total $80,000

Page 20: Reporting Services

MatrixMatrix

Repetición de filas y columnas

Similares a las pivot table o tablas cruzadas

Formato propio en cabeceras Formato independiente de subtotales Las celdas pueden contener cualquier

elemento Debe utilizarse cuando las columnas

equivalen a registros en nuestros datos

Sales 2000 2001 2002

Brian $100 $110 $120

Jason $200 $250 $300

Steve $300 $400 $300

Total $600 $760 $720

Page 21: Reporting Services

ChartsCharts

Gráficas Los datos provienen

del origen de datos Incluyendo expresiones

Conjunto completo de tipos de gráficos y propiedades

Funcionalidad similar a la de Matrix (agrupar, ordenar, filtrar)

Page 22: Reporting Services

ExpresionesExpresiones La mayoría de las propiedades admiten

expresiones para determinar su valor Sintáxis Visual Basic .NET Valores obtenidos del data set Valores de otros elementos del informe Valores de propiedades globales y del usuario Agregados: Sum, Avg, Count, Min, First, etc. Ejemplos

=Fields!Name.Value =Fields!First.Value & " " & Fields!Last .Value =Sum(Fields!Sales.Value) =IIF(Sum(Fields!Sales.Value)>10, "green", "red")

Page 23: Reporting Services

ParámetrosParámetros Los parámetros del informe se pueden emplear

en las expresiones (incluidos los parámetros de la consulta SQL)

Los valores aceptados o por omisión se obtienen de forma directa o mediante una consulta

Pueden ser jerárquicos La selección de un parámetro filtra los valores

posibles en otro Se accede a ellos con la colección global

Parameters =IIF(Fields!Sales.Value > Parameters!Goal.Value,

“Bien", “Mal")

Page 24: Reporting Services

Interactividad

Page 25: Reporting Services

Informes interactivosInformes interactivos

Los elementos del informe se pueden asociar a acciones Drill down en el mismo informe Drill through a otro informe Bookmarks (puntos) Hiperenlace a una origen internet

Mostrar / Ocultar regiones Document map que muestra la estructura

del informe

Page 26: Reporting Services

DatosDatos Varios conjuntos de datos a partir de orígenes

de datos distintos Orígenes de datos admitidos

SQL Server (7.0, 2000, Yukon) Analysis Services (2000 w/XML/A, Yukon) OLE DB, ODBC, Oracle, otros proveedores .NET

Constructor de consultas en el Report Designer para SQL Server y OLE DB

O escribir las consultas directamente Los parámetros de la consulta se pueden

exponer como parámetros del informe

Page 27: Reporting Services

Distribución del proyectoDistribución del proyecto

Envía los informes, imágenes y orígenes de datos al servidor de informes Informes como Report Definition Language

(RDL) En el servidor, los informes se compilan y

almacenan en la base de datos de metadatos en SQL Server

Una vez “instalado” Establecer la seguridad Configurar el caché y la ejecución programada Indicar la programación del histórico

Page 28: Reporting Services

Gestión de informes con SQL Server Reporting Services

Page 29: Reporting Services

AgendaAgenda

Instalación Namespaces y Seguridad Programaciones Gestión de informes Suscripciones

Page 30: Reporting Services

Prerrequisitos de instalaciónPrerrequisitos de instalación

Servidor Web Windows 2000 ó 2003 ServerInternet Information Server.NET Framework 1.1 (incluido)SMTP para entrega vía email

Servidor de base de datos

SQL Server 2000SQL Server Agent

Estación de creación de informes

Visual Studio .NET 2003.NET Framework 1.1 (incluido)

Page 31: Reporting Services

SQL Server Database / SQL Server Agent

Componentes compartidos

Servicios Web(IIS / ASP.NET)

http://<server>/reportserver

Servicio Win32

Componentes de Reporting ServicesComponentes de Reporting Services

Acceso URLSOAP

reportservice.asmx

Obtención datos

WMI

Distribución

Seguridad

Report Managerhttp://<server>/reports

Rendering

navegadorReport

DesignerUtilidades cliente

Page 32: Reporting Services

APIs de gestiónAPIs de gestión

Servicios Web / SOAP Implementación completa con tipos complejos Incluye WSDL Añadir la referencia al servicio en VS .NET Admite SSL

WMI Para gestionar la configuración del servicio Disponible aunque el WS no lo esté En la primera versión no se incluyen eventos

WMI

Page 33: Reporting Services

Herramientas de gestiónHerramientas de gestión

Report Manager Aplicación web incluida en RS Construida en ASP.NET

Herramientas cliente Script Host (rs.exe) Server Configuration (rsconfig.exe) Encryption Key Management

Aplicaciones propias en samples aplicación Win32

Page 34: Reporting Services

Namespace del servidorNamespace del servidor Espacio de nombres jerárquico gestionado

mediante una base de datos SQL Server Metáfora de carpetas para organizar los

informes y establecer la seguridad Tipos de elementos

Report Folder Data Source Resource

Los elementos se indican por su path tanto en el API SOAP como en el acceso URL (p.e. /Adventure Works/Sales Report)

Page 35: Reporting Services

My ReportsMy Reports

Ofrece una carpeta personal a los usuarios en la que publicar sus informes

/My Reports es redirigido a /users/<username>/My Reports

Se le aplica, de forma automática, una función (rol) configurable

Desactivado de fábrica

Page 36: Reporting Services

Modelo SeguridadModelo Seguridad Tareas

Conjunto de operaciones de bajo nivel A nivel de elemento (crear informe) o de

sistema (gestionar planificaciones) No se puede personalizar

Funciones (Roles) Conjuntos de tareas Algunos instalados de fábrica Se pueden personalizar

Grupos / Usuarios Sistema / propios

Asignación de funciones Asociar grupos / usuarios con funciones Se heredan

Elemento

AsignaciónGrupo oUsuario

Función

Tarea

Operación

Page 37: Reporting Services

Namespace y Seguridad

Page 38: Reporting Services

ProgramacionesProgramaciones

Los sucesos de gestión se pueden planificar en el servidor de informes Caching, suscripciones, histórico

Las programaciones se guardan en la base de datos y se integran con SQL Agent

Los sucesos programados se ponen en cola en la base de datos y son atendidos por el servicio NT

Page 39: Reporting Services

Programaciones compartidasProgramaciones compartidas Programaciones compartidas que se

gestionan con independencia de los informes, suscripciones o snapshots

Cambios posibles en las propiedades de la programación Nombre Días, horas o frecuencias Fechas de inicio y finalización

Detener y reiniciar una programación compartida

Borrar una programación

Page 40: Reporting Services

Programaciones

Page 41: Reporting Services

Propiedades del informePropiedades del informe

Los metadatos se obtienen de la definición del informe cuando este se publica y se guardan en la base de datos

Definición del informe Parámetros

Solicitar o no al usuario Texto de solicitud Valores por omisión

Información del origen de datos

Page 42: Reporting Services

Gestión de orígenes de datosGestión de orígenes de datos El administrador puede establecer el tipo de

conexión y la cadena de conexión una vez publicado el informe

Opciones para las credenciales Solicitadas ó Almacenadas de forma segura

Encriptadas en memoria y en la base de datos Opción de suplantación (impersonate) después de conectar

(sólo en SQL Server) Seguridad integrada Sin credenciales (no necesarias)

Orígenes de datos compartidos La información de conexión y de las credenciales se

guarda como un objeto seguro en el namespace Punto común de gestión para muchos informes

Page 43: Reporting Services

Gestión de la ejecuciónGestión de la ejecución

Sesiones de ejecución Se crean automáticamente Mantienen la coherencia entre peticiones al

servidor (imágenes, paginación, exportación) El timeout se configura en el servidor

El administrador decide si los informes se generan a petición o a partir de instantáneas (snapshots)

Los informes a petición pueden guardarse en caché (con limitaciones)

Page 44: Reporting Services

Snapshots e HistóricoSnapshots e Histórico Instantáneas de ejecución

La ejecución del informe se planifica, todos los usuarios reciben los mismos datos

Una sola instancia del informe procesado Limitaciones: La consulta no puede usar parámetros

o expresiones definidas por el usuario, es necesario almacenar las credenciales

Histórico de instantáneas Se guardan varias instancias (copias) de la ejecución

del informe Se guardan de forma independiente al origen de

datos y la definición del informe Normas específicas de archivo a nivel de sistema y

de informe

Page 45: Reporting Services

Gestión de informes

Page 46: Reporting Services

SuscripcionesSuscripciones Personales o definidas por el administrador Suscripción disparada por un suceso

(programación, creación de una instantánea, externo)

Las extensiones de distribución especifican la forma de entrega del informe

Se puede especificar el formato de entrega (HTML, XLS, etc.) Se entregan enlaces e informes generados

Dos tipos de suscripción Estándar Dirigida por una consulta (Data driven)

Page 47: Reporting Services

Suscripciones estándarSuscripciones estándar

Un mismo informe enviado a un conjunto predefinido de direcciones

Cómo funciona El usuario crea una petición para lanzar un

informe en un momento determinado y en un formato concreto

Puede originarse a partir de una programación, un suceso o de la generación de una instantánea

Especifica el informe, las condiciones de ejecución, los parámetros, el formato y ubicación de entrega, etc.

Page 48: Reporting Services

Suscripciones Data Driven Suscripciones Data Driven

Cuando utilizarlas Entregar un informe a una lista variable de

destinatarios, además de personalizar el contenido

Cómo funciona Las crea el administrador Define la consulta que devuelve la lista de

destinatarios y los valores de los parámetros a aplicar

Establece su ejecución en base a una programación o a una instantánea

Page 49: Reporting Services

Suscripciones

Page 50: Reporting Services

Desarrollo de aplicaciones con/para SQL Server Reporting Services

Page 51: Reporting Services

Plataforma de Reporting OportunidadesPlataforma de Reporting Oportunidades

Soluciones basadas en .NET con necesidades de reporting

Herramientas de creación y publicación de informes

Ampliaciones del servidor Aplicaciones de gestión del servidor Portales y aplicaciones de colaboración

Page 52: Reporting Services

SQL Server CatalogSQL Server Catalog

Report ServerReport Server

Interfaz servicio web XMLInterfaz servicio web XML

Procesador de informesProcesador de informes

DistribuciónDistribución

Destino de entrega(E-mail, carpetas,

propios)

RenderingRendering

Formatos de salida (HTML, Excel, PDF, propio)

Proceso de datosProceso de datos

Orígenes de datos(SQL, OLE DB, XML/A, ODBC, Oracle, propio)

SeguridadSeguridad

Servicios Seguridad(Sistema,

propio)

Office Aplicación propiaNavegador

Arquitectura del productoArquitectura del producto

Page 53: Reporting Services

Interfaces programáticasInterfaces programáticas

Definición XML del informe personalizable Esquema público

Interfaces de presentación URL Addressability Web Service / SOAP

Interfaces de gestión Web Service / SOAP

Interfaces de ampliación Data, Delivery, Rendering y Security

Page 54: Reporting Services

URL AddressabilityVirtual Roots URL AddressabilityVirtual Roots

Report Serverhttp://[servername]/ReportServer

Interfaz Web Service Directivas mediante parámetros

Report Server Web Applicationhttp://[servername]/Reports

Admite SSL Totalmente traducido

Basado en el idioma de la cabecera HTTP

Page 55: Reporting Services

URL Addressability

Page 56: Reporting Services

Directivas URLDirectivas URL Parámetros del informe

Los nombres han de coincidir con los definidos en el informe

Ejemplo:http://<server>/ReportServer/ReportName?CategoryID=1&EmployeeID=1

Credenciales del usuario (dsu: and dsp:) Credentiales para cada data set del informe Ejemplo:

https://<server>/ReportServer/ReportName?dsu:DataSet1=MyUserName&dsp:DataSet1=MyPassword

Alternativa con HTTPS POST ¡Utilice protocolos seguros!

Page 57: Reporting Services

Directivas URLDirectivas URL Parámetros del Report Server (rs:)

Ejemplo:http://servername/ReportServer/ReportName?rs:Command=Render

Información de rendering (rc:) Pares Nombre/Valor que especifican la

información del formato a utilizar (p.e., FindString, Section, Zoom, etc.)

Único para cada Rendering Extension Ejemplo:

http://servername/ReportServer/ReportName?rc:Section=7&rc:HTMLFragment=true

Page 58: Reporting Services

Interfaces Web ServiceInterfaces Web Service Namespace

Management Item Properties Report Execution Report Parameters Report History Data Source

Management

Scheduling Subscriptions and

Delivery Linked Reports Job Management Security

Management

Page 59: Reporting Services

Primeros pasosReferencia al Servicio Web Primeros pasosReferencia al Servicio Web http://[servername]/ReportServer/Reportservice.asmx?wsdl

Proxy generado por Visual Studio .NET tipos complejos definidos en el XSD Soporte de llamadas síncronas y asíncronas Las operaciones de actualización se pueden

agrupar (batch) Cabeceras SOAP

Session ID Server Info Batch ID

Page 60: Reporting Services

Primeros pasos Servicio Web - AutenticaciónPrimeros pasos Servicio Web - Autenticación Autenticación Autenticación básica

System.Net.NetworkCredentials

Dim rs As New MyServer. RSWebService()‘ Prompt user for credentials

rs.Credentials = new System.Net.NetworkCredential ("user", "pwd", "domain")

Autenticación integrada System.Net.CredentialCache

Dim rs As New MyServer. RSWebService()rs.Credentials = System.Net.CredentialCache.DefaultCredentials

Page 61: Reporting Services

Programación Servicios Web

Page 62: Reporting Services

Ampliar Report ServerAmpliar Report Server

Las Extensions ofrecen una forma de ampliar la plataforma

Código gestionado (.NET) en el proceso del servidor

Interfaces CLR publicadas Tipos de Extension

Funciones propias Data, Delivery,Rendering, Security

Implicación de CAS .NET (Code Access Security)

Page 63: Reporting Services

Otros datosOtros datos

Service Pack1 disponible Service pack 2 en beta reciente

Pack de informes Actualización de los libros en pantalla

Page 64: Reporting Services

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

[email protected]://certia.ramblainf.com