1 / 47

Reporting Services desde Cero

Reporting Services desde Cero . Mauricio Grimberg mau@mug.org.ar Axton http://www.axton.com.ar/. Versiones Reporting Services. Reporting Services está ya disponible para SQL Server 2000

mick
Télécharger la présentation

Reporting Services desde Cero

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reporting Services desde Cero Mauricio Grimberg mau@mug.org.ar Axton http://www.axton.com.ar/

  2. Versiones Reporting Services • Reporting Services está ya disponible para SQL Server 2000 • En todo caso significativo los conocimientos que veremos hoy aplican tanto al estadio actual de Yukon y de la versión actual (2000) • Para que esto sea evidente utilizaremos ambas versiones en este WebCast

  3. Para comenzar • RDL • Vistas del Report Designer • Data Source y Dataset • Business Intelligence Development Studio

  4. Arquitectura de Reporting Services • Basado en servidor, utiliza la infraestructura de : • SQL Server • Internet Information Services (IIS) • .NET Framework • Provee • Un entorno “en la caja” que, a través de IDEs basadas en Visual Studio .Net e Internet Explorer consume y opera sus servicios • Una API completa de operación a través de Web Services

  5. Ciclo de vida de un reporte • Estas son las áreas centrales de cualquier plataforma seria de Reporting y por la calidad y arquitectura de esos procesos debemos evaluar una solución Creación Gestión Suministro

  6. Generación del reporte • Conexión a origen de datos • Consultas a dicho origen • Diseño del reporte • Parámetros del reporte • Asignación de propiedades tales como ancho, alto, formatos, etc. • Información de conexión • Valores de parámetros por defecto

  7. Nuevo proyecto

  8. Nuevo reporte: New Item

  9. Configuramos el origen de datos que vamos a utilizar (DataSource) Si lo deseamos editamos la cadena de conexión Si es compartido (Shared Data Source) podremos utilizarlo con varios reportes Nuestro origen de datos

  10. En este caso seleccionamos localhost, seguridad integrada y la base de datos AdventureWorks Conexión completa

  11. Construimos una consulta o la pegamos en la caja de texto Esto construirá nuestro Dataset (es un dataset por conjunto de datos, sin relación alguna con el Dataset de .Net) Nuestro conjunto de datos

  12. Seguimos… • En los próximos pasos • Seleccionamos un reporte tabular • Elegimos una categoría por página, agrupar por producto y colocar las ventas en el detalle. • No modificamos el diseño • Finalizamos • Cambiamos a modo Preview y algunos defectos saltan a la vista, vamos a modificarlos

  13. Modificando el reporte • En el modo Layout, en el Body del reporte seleccione la table1 • “Estire” el ancho de las columnas arrastrando el ratón • Cambie el título del reporte a algo más significativo como “Reporte de ventas por producto” • Compruebe que el paradigma sigue siendo el clásico diseñador creado en los orígenes de Visual Basic

  14. Finalmente • Guardamos todo (Save all) • En modo Preview comprobamos los cambios realizados • Cerramos el Business Intelligence Development Studio si lo deseamos

  15. Un reporte desde cero • Agregaremos un reporte en blanco • Configuraremos nuestra DataSource y nuestro Dataset • Manejaremos el diseño • Instalaremos el reporte en el servidor

  16. Nuevo reporte • Nuevamente agregamos un item pero esta vez es un Report • Elegimos la vista Data y generamos un New Dataset al que asignamos un nombre, reutilizando la Shared Data Source y una sentencia SQL nueva. • Para ello utilizamos consultas grabadas en archivos de texto. • Con eso queda definido nuestro conjunto de datos

  17. Nuestro primer objeto List (1) • Pase al modo Layout • “Estiramos” un poco el Body a todo el espacio visible como para disponer de un área adecuada • En la Toolbar hacemos un doble click en el elemento List • Hacemos coincidir su tamaño con el del Body • Arrastramos, en este caso, el nombre del campo Categoria, desde la lista de campos al lado izquierdo de la List • Oprima F4 para obtener acceso a las propiedades de la caja de texto: Cambie el FontWeight a Bold

  18. Nuestro primer objeto List (2) • En las propiedades de la List seleccione Grouping y luego la elipsis (…) • En Details Grouping en la lista Expression elija =Fields!Categoria.Value y acepte • Arrastre el campo VentasProducto al vértice superior derecho de la List • En la propiedades de la nueva caja de texto sleccione Format y aplique el valor “0,0.00” • Agregue algo más de prolijidad y guarde todo. • Observe el resultado pasando a la ventana de Preview

  19. Objeto List “anidado” • Vuelva a la ventana Layout • Arrastre desde la Toolbar una nueva List al interior de la primera List • Asegúrese de no cubrir las cajas de texto anteriores • Elija el campo Producto y arrástrelo al extremo izquierdo de la segunda List • Haga click en la segunda List, seleccione propiedades y allí Grouping y del mismo modo que anteriormente agrupe allí por el campo Producto • Vuelva a arrastrar el campo Total Producto al extremo derecho de la segunda List • Formatee • Guarde • Observe nuevamente en la vista Preview

  20. Corte de página • Volvemos al modo Layout • Seleccionamos la primera lista • Properties Grouping • Tildamos “Page Break at End” en DetailsGrouping • Guardamos y vamos al modo Preview

  21. Agregar parámetros • Vamos al modo Data • Habilitamos el Diseñador de consultas • Editamos la consulta agregando “WHERE (Categoria = @Cat)” • Eso va a generar un parámetro automáticamente • Guardamos • Vamos a la vista Preview • Observamos con Report Parameters lo que hemos generado

  22. Registrar en el servidor • Configu-ramos el servidor de reportes • Luego aplica-mos Build y Deploy

  23. En adelante • Explorar los elementos del diseñador y sus propiedades • Data Regions: matrix, list, chart, rectangle, y subreport • Incorporar conceptos más avanzados de diseño como por ejemplo gráficos, drill down, drill trough • Utilización de expresiones

  24. Gestión de reportes • Administración de contenidos • Permisos • Calendarización • Caching

  25. System Roles • Definen los permisos habilitados para un Grupo o Usuario • Esto incluye la seguridad, los roles, la calendarización de sucesos y las propiedades del servidor • Por defecto heredan de su Parent pero pueden ser modificadas de a items.

  26. Práctica (Report Manager) • Crear un rol a nivel system • Aplicar un nuevo rol a nivel system a un grupo • Crear un rol a nivel item • Aplicar un nuevo rol a nivel item a un reporte

  27. Crear un rol a nivel system • Ejecute http://localhost/Reports • En la esquina superior derecha seleccione Site Settings • Casi debajo de todo, en Security seleccione Configure system-level role definitions • Oprima el botón New Role casi arriba de todo • Name: Analista de reportes • Description: Puede ver propiedades del servidor y manejar calendarización • Seleccione Manage shared schedules, View report server properties y View shared schedules • Acepte para guardar los cambios

  28. Crear un rol a nivel Item • Nuevamente vamos a Site Settings • Ahora seleccionamos en Security: Configure item-level role definitions • Nuevamente New Role • Name: SoloLectura • Description: Sólo puede ver los objetos del Servidor • Seleccione View data sources, View folders, View reports, View resources • Acepte y el rol quedará incorporado

  29. Asignación de Roles • Vuelva a la Home • Ingrese a la carpeta Rapido • Seleccione el reporte Inicial • Pase a la hoja de Properties • Click en Security • Oprima el Botón Edit Item Security • Click en Edit • Sólo deje tildado SoloLectura • Apply • Ahora los Administradores sólo tendran los permisos asignados a SoloLectura • ¿Quiere dejar todo como estaba? • Botón Revert to Parent Security en el tab Security del Reporte

  30. Planificación de la ejecución • Los reportes pueden planificarse, estableciendo fecha de refresco y creando así snapshots (fotografías), estas fotografías son guardadas en un histórico • Se pueden establecer momentos de ejecución, de manera de aprovechar horarios de bajo acceso • También pueden cachearse temporalmente para economizar recursos

  31. ¿Qué provee el Report Manager? • Administración de la seguridad • Planificación • Reparto • Organización • Administración • Navegación

  32. Report Manager (1 de 5) • Requiere Microsoft Internet Explorer 6.0 con Service Pack 1 (SP1) o Internet Explorer 5.5 con SP2 como navegador cliente. • Recuerde habilitar Active Scripting en Internet Explorer en la zona de Intranet

  33. Report Manager (2 de 5) • Toda la funcionalidad de Reporting Services (el Report Server) está expuesta como un servicio Web • El Report Manager es un consumidor de ese servicio

  34. Report Manager (3 de 5) • El Report Manager fue construido para apoyar sobre todo el manejo del contenido dentro de la base de datos del servidor • Lo que hace es interactuar con el Report Server • Toda la información de los reportes se guarda en una base de datos de SQL Server

  35. Report Manager (4 de 5) • Utiliza la configuración de seguridad de Windows (el usuario logueado) • Provee una carpeta My Reports para configurar personalización • Permite crear nuevas carpetas para facilitar la administración • Permite administrar totalmente los orígenes de datos compartidos

  36. Report Manager (5 de 5) • Maneja Autenticación (identificación del usuario) y autorización (permisos del usuario) • Los usuarios forman parte de roles • Los roles tienen acceso o no a determinadas tareas • Al instalar agrega una configuración por defecto con roles predefinidos que conviene mantener pero que pueden ser incrementados con roles a definir

  37. Procesos de representación • Diferentes formatos de presentación (NO de exportación) posibles • On Line • HTML con Office Web Components • MHTML • Intercambio de Documentos • TIFF • PDF • Intercambio de Datos • Excel • CSV • XML

  38. Práctica • Exportar reportes a diferentes formatos

  39. Programación • Mediante APIs (scripting o .Net) • Creación • Administración • Presentación • Extensión

  40. Utilizando .Net assemblies • Creación de una librería para Reporting Services • Hacer el deployment adecuado • Utilizar la función dentro de un reporte

  41. Creación de una librería para Reporting Services • Reemplazar el número de Versión en AssemblyInfo.vb por 1.0.0.0 para evitar problemas de versionado

  42. Una función para formateo Public Class Common Public Shared Function ColorSegunValor (ByVal Valor As Decimal, ByVal ValorMinimo As Decimal, ByVal ValorOptimo As Decimal) As String Select Case Valor Case Is > ValorOptimo Return "Green" Case Is > ValorMinimo Return "SteelBlue" Case Else Return "Red" End Select End Function End Class

  43. Hacer el deployment adecuado • Compile la solución • Copie el binario (MGReportLibrary.dll) a C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin y C:\Program Files\Microsoft SQLServer\80\Tools\Report Designer o a los directorios adecuados del Report Server y el Report Designer

  44. Utilizar la función dentro de un reporte • En las Properties del Report agregue la Referencia a la librería

  45. El color de un Textbox… • En este caso utilizamos la librería para producir una cadena que determina el color de la fuente de un campo del reporte

  46. Por dónde continuar • Código embebido • Extensiones personalizadas de datos • Generación de RDL • Utilidad RS (Scripting) • Proveedor de WMI

  47. Vínculos • http://msdn.microsoft.com/vstudio/tryit/hosted/sql/reportingservices/ • http://www.devx.com/dotnet/Article/26759 • http://www.codeproject.com/aspnet/SQLRSViewer.asp • http://msdn.microsoft.com/sql/default.aspx?pull=/library/en-us/dnsql2k/html/RSDSetEx3.asp • http://www.microsoft.com/sql/reporting/default.mspx

More Related