Introducción a Microsoft SQL Server 2000 Reporting Services.
-
Upload
rebeca-gavino -
Category
Documents
-
view
30 -
download
4
Transcript of Introducción a Microsoft SQL Server 2000 Reporting Services.
Introducción a Introducción a Microsoft SQL Server Microsoft SQL Server
2000 Reporting 2000 Reporting ServicesServices
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
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
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
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
¿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)
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
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
Beneficios claveBeneficios clave
Plataforma de reporting ampliable
Integración Office Orígenes de datos Escalable, flexible Bajo coste
Creación de informes con SQL Server Reporting Services
Inicio
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
Elementos del informeElementos del informe
Textbox
Image
Line
Rectangle
Subreport
Data Regions (List, Table, Matrix, Chart)
100.000€
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
Data Regions
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
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
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
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)
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")
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")
Interactividad
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
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
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
Gestión de informes con SQL Server Reporting Services
AgendaAgenda
Instalación Namespaces y Seguridad Programaciones Gestión de informes Suscripciones
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)
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
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
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
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)
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
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
Namespace y Seguridad
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
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
Programaciones
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
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
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)
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
Gestión de informes
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)
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.
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
Suscripciones
Desarrollo de aplicaciones con/para SQL Server 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
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
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
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
URL Addressability
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!
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
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
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
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
Programación Servicios Web
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)
Otros datosOtros datos
Service Pack1 disponible Service pack 2 en beta reciente
Pack de informes Actualización de los libros en pantalla
© 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