Reporting Services
Manual del Participante
Reportes de Produccion usando Reporting Services MANUAL DEL PARTICIPANTE
Ms, Ing. Ricardo Mendoza Rivera
[email protected] http://rimenri.blogspot.com
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 1
Reporting Services
Manual del Participante
Microsoft ® es una marca registrada de Microsoft ® Corporation
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 2
Reporting Services
Manual del Participante
Tabla de Contenido
Modulo 01: Introducción a Microsoft SQL Server Reporting Services
Modulo 02: Creando Reportes básicos
Modulo 03: Configurando Reportes básicos
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 3
Reporting Services
Manual del Participante
Modulo 1: Introducción a Microsoft SQL Server Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 4
Reporting Services
Manual del Participante
Módulo 1 Introducción a Microsoft SQL Server Reporting Services
Esta sesión incluye las características de Reporting Services que está basado en un servidor como plataforma de reportes. Proporciona un repositorio de reportes (Report Server), una herramienta de construcción de reportes (Report Designer de VS.NET 2008 u otra que soporte RDL) y una administración centralizada (Report Manager). Los reportes son publicados y administrados en el Report Server a través de Web Services. La obtención de los reportes pueden ocurrir en el momento deseado o mediante una tarea programada (por ejemplo: podemos programar para que el Resumen de Ventas del día llegue mediante correo electrónico a un gerente determinado a las 8am de Lunes a Sabado).
Planificación de la Clase Al finalizar este capitulo, el participante aprenderá a:
Conocer el ciclo de vida de la administración de un reporte identificando los distintos componentes y características de cada uno de ellos. Describir los escenarios en los cuales puede usarse Reporting Services Revisar la Arquitectura de Reporting Services
Temas a Tratar
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 5
Reporting Services
Manual del Participante
Lección 1
Con Reporting Services puede consultar y mostrar datos de múltiples Bases de datos que administran las organizaciones en la actualidad. A continuación veremos de manera genérica como enlazarnos a una Base de Datos y mostrar datos a partir de consultas. Ahora podrá crear más reportes gráficos y tabulares que en versiones anteriores.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 6
Reporting Services
Manual del Participante
Nuevas Herramientas Más Saltantes
Puntos clave: En SQL Server 2008 Reporting Services se incorporan nuevos controles en regiones de datos como: Tablix (reportes tipo tabla y de referencia cruzada) y Gauge. Introduce nuevos orígenes de datos y Report Builder 2.0, el cual ofrece nuevas herramienta como un
entorno nuevo de datos y la
visualización similar a la de Office 2007, adicionando una serie de ventajas en la creación de reportes como veremos en el transcurso del curso.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 7
Reporting Services
Manual del Participante
El ciclo de Vida
Toda vez que el análisis y presentación de la información es un proceso crítico y que permitirá tomar decisiones en los diferentes niveles de una organización. El proceso de la creación de reportes, su administración y difusión, conocido en conjunto como Ciclo de Vida de un reporte. Reporting Services maneja 3 estados: creación, administración y entrega.
Creación
Administración
Entrega
El diseñador define los datos en el reporte y su presentación Usa RDL (Reporting Data Language) para proporcionar representación en XML. Uso de ADO.NET Flexible diseñador de reportes
una
El diseñador publica el reporte a un lugar centralizado: Report Manager donde se administra la seguridad y se programan las entregas. Usa una BD centralizada llamada Report Server para almacenar, publicar y compartir los reportes. Una vez publicados los reportes se pueden establecer tareas de ejecución y configurar opciones de seguridad Contiene una herramienta de administración en entorno Web. Las entregas pueden ser en diferentes formas En tiempo de ejecución se procesa el estilo de presentación Se proporcionan diferentes mecanismo de entrega: en demanda, es decir, el usuario ingresa y obtiene el reporte y Entregas programadas vía email.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 8
Reporting Services
Manual del Participante
Características de Reporting Services
El formar parte de SQL 2000 le da una serie de ventajas, como veremos a continuación
Creación
El diseñador define los datos en el reporte y su presentación Soporte de diferentes datos source al usar ADO.NET. Puede crear diferentes archivos RDL usando: Diseñador de reportes, Report Builder o un editor compatible con XML Las regiones de datos ahora soportan: Tablix, List, Gauge y Chart.
Se pueden diseñar reportes donde el usuario pueda seleccionar condiciones para obtener el reporte como año, sucursales, etc.
Administración Entrega
Veamos las opciones de entrega Diferentes formatos ( HTML, PDF, TIFF, XLS, XML, CSV, DOC) Diferente mecanismos de entregas a los subscriptores establecidos
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 9
Reporting Services
Manual del Participante
Reporting Services puede ser aplicado para soportar múltiples escenarios que incluya las necesidades internas y externas.
Internas
Externas
Embedded Reporting
Son las necesidades típicas de las áreas departamentales dentro de la organización. Reportes de documentos en el area de ventas o un estado financiero en el area de Finanzas son algunas muestras.
Van soportados por aplicaciones: business to business, permitiendo a los usuarios acceder a ellos a través de una Extranet. Ordene de Pedido de los clientes u Ordenes de entrega por parte de los proveedores son algunos de los ejemplos. Integra portales y aplicaciones. Usados para entornos corportativos con aplicaciones desarrolladas por terceros Aplicaciones de transacciones en línea como CRM son también aplicables
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 10
Reporting Services
Manual del Participante
A continuación revisaremos la funcionalidad del producto, deteniéndonos en cada componente del ciclo de vida del producto, revisaremos algunos reportes ya establecidos y configuraremos algunas propiedades de un reporte.
El proceso de entrega de un reporte. Describir la creación de un reporte. Describir el proceso de administración de un reporte.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 11
Reporting Services
Manual del Participante
Como se mencionó anteriormente existen diferentes formas de obtener un reporte: Web, Print o en Datos. Las formas de entrega son 2 tipos:
Pull Delivery : Desde el Report Manager y en forma personalizada Push Delivery : Vía email o un archivo directo
Procedimiento: Ingrese al Report Manager 1. Cargar el Internet Explorer 2. Ir a: http://localhost/Reports -visualizará la página del Report Manager.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 12
Reporting Services
Manual del Participante
1. 2. 3. 4.
Visualizar el reporte: Sales Summary Report. Clic en la carpeta : Examples Reports Haga clic en Sales Summary Visualice el reporte. Por medio de la barra de herramientas navegue a través del reporte haciendo clic en el botón siguiente. 5. En: Find Text , digite Australia y haga clic en Find Exportando el archivo vía acrobat 1. En la lista: Export haga clic en Acrobat (PDF) file y luego clic en export 2. En la caja de diálogo File DownLoad seleccione: Open y clic en Aceptar. Ahora podrá visualizar el reporte. 3. Cerrar el Acrobat
Reporting Services utiliza como estandar el esquema XML, lo cual le permite diseñar sus reportes en Visual Studio .NET 2003 basado en su lenguaje RDL. RDL incluye un set completo de formas de generar reportes del tipo: Lista, Tabla, Matriz y Chart. Así como incluir parámetros que le dan dinamismo a la generación del mismo. Para acceder a los origenes de datos lo hace a través de ADO.NET.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 13
Reporting Services
Manual del Participante
Cargando el Reporting Services 1. Ingrese a Visual Studio NET 2. Del menú Archivo elija –Nuevo Proyecto, con lo que aparecerá la siguiente interfaz, verifique los datos sugeridos
3.
En la bienvenida del asistente elija: Next
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 14
Reporting Services
Manual del Participante
4. 5. 6. 7. 8.
Seleccionando el Data Source Elija : Nuevo origen de datos En tipo: Microsoft SQL Server En cadena de conexión elija: Edit En las propiedades de datos: a. Server: localhost b. Loggeo: Windows Integrated Security c. Base Datos: AdventureWorks2000 9. Clic sgte 10. Diseñando la consulta a. En cadena de consulta digite: SELECT YEAR(OrderDate) AS Año, dbo.SalesTerritory.Name, dbo.SalesPerson.SalesPersonID, dbo.Employee.FirstName, dbo.Employee.LastName, dbo.SalesOrderHeader.SalesOrderNumber, dbo.SalesOrderHeader.TotalDue FROM dbo.SalesTerritory INNER JOIN dbo.SalesPerson ON dbo.SalesTerritory.TerritoryID = dbo.SalesPerson.TerritoryID INNER JOIN dbo.Employee ON dbo.SalesPerson.SalesPersonID = dbo.Employee.EmployeeID INNER JOIN dbo.SalesOrderHeader ON dbo.SalesTerritory.TerritoryID = dbo.SalesOrderHeader.TerritoryID AND dbo.SalesPerson.SalesPersonID = dbo.SalesOrderHeader.SalesPersonID GROUP BY YEAR(OrderDate), dbo.SalesTerritory.Name, dbo.SalesPerson.SalesPersonID, dbo.Employee.FirstName, dbo.Employee.LastName, dbo.SalesOrderHeader.SalesOrderNumber, dbo.SalesOrderHeader.TotalDue ORDER BY 1, dbo.SalesTerritory.Name
b. Clic en Edit, para visualizar la consulta c. Clic Next 11. Seleccionando el Tipo de Reporte a. Seleccione: Tabular b. Clic Next 12. En Diseño Tabla: a. Name : Año b. Grupo: Name , LastName c. Detalles: Sales Order Number , Total Due Clic Next 13. Vista Previa a. Elija: Bloque b. Incluir SubTotales c. Clic next d. Estilo: Llamativo e. Clic Finalizar 14. Verifique el reporte
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 15
Reporting Services
Manual del Participante
Reporting Services puede ser usado para configurar el acceso de los usuarios finales a los distintos reportes y carpetas del servidor de reportes, establecer opciones que determinen como y cuando los reportes se ejecutarán , así como la distribución de los reportes y su procesamiento. Base de Datos Centralizada del Servidor de Reportes Los reportes son publicados en una BD centralizada de SQL Server 2000. Una combinación de herramientas pueden ser usadas para administrarla. Administración del Contenido Incluye las sgts tareas: Seguridad del Site del Report Server y los items contenidos en la BD del Report Server aplicando roles. Se puede modificar, eliminar o agregar carpetas. Crear data sources compartidos para BD específicas. Crear suscripciones dirigidas por datos, focalizando la información de acuerdo a las funciones que desempeña un determinado tipo de usuario. Administrando Roles La administración de tareas están organizadas en roles predefinidos: Administrador de Contenidos y Administrador del Sistema. Por defecto, un usuario qué está como administrador en un sistema local automáticamente tiene los 2 roles asignados, por lo que puede asignar roles al resto de usuarios. El rol de Administrador de Contenidos incluye un set completo de tareas de administración, mientras que el rol de Administrador del Sistema incluye tareas que proporcionan acceso a niveles de configuración del site.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 16
Reporting Services
Manual del Participante
Reporting Services está basado en la plataforma .NET que incluye un conjunto de herramientas para integrar una solución de reportes en un entorno técnicamente centralizado. Componentes Claves Podemos mencionar:
Report Server o Es un servicio Web que incluye muchos subcomponentes para administrar el procesamiento de un reporte: datos, envíos, políticas de seguridad y entre de reportes. Report Sever Database o Almacena toda la configuración del reporte dentro de la BD del Servidor, le permite administrar recursos y reportes. Interfaces de Programación o Utilizar APIs publicadas y por medio de ella sobre http puede crear herramientas personalizadas para cualquier estado del ciclo de vida de un reporte
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 17
Reporting Services
Manual del Participante
Componentes de Reporting Services
Componente
Servidor
Prerequisito
Report Server Report Manager
IIS .NET Framework
Report Server Database
SQL Server SQL Server Agent
E-mail Extension
SMTP Server
Report Designer
Visual Studio .NET
Utilitarios
Windows Management Instrumentation
Cliente
Reporting Services debe cumplir ciertos requisitos de software y hardware tanto a nivel de cliente como de servidor. Componente de Servidor Todos los componentes de servidor deben ser instalados en un servidor en ejecución bajo los sgts sistemas operativos: Windows 2000 Advanced Server o Windows 2000 Data Center Windows 2003 (Todas las ediciones) Los componentes del servidor del Reporting Services incluyen: Report Server y el Report Manager Estos componentes necesitan o Una instalación existente de Internet Information Services (IIS) o .NET Framework Report Server Database o Requiere una instalación de SQL Server o SQL Server Agent Extensiones de Entrega o Servidor de SMPT (el servidor puede ser local o remoto) Componente de Cliente Para visualizar un reporte o administrarlo desde el Report Server se necesitan: Cliente del Report Designer, que puede ejecutarse en unos de los sgts sistemas operativos o Windows 2000 o Windows 2003 o Windows XP Adicionalmente es requerido Report Designer del Visual Studio .NET 2003
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 18
Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Manual del Participante
Pág.: 19
Reporting Services
Manual del Participante
Modulo 2: Preparando Reportes Básicos
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 20
Reporting Services
Manual del Participante
Módulo 2 Preparando Reportes Básicos
Esta sesión incluye las características de Reporting Services orientadas a la elaboración de reportes de una manera básica incluyendo configuración de origenes de datos y data sets , creando reportes tabulares , sumarizando data y aplicando formato básico. Por medio de Visual Studio .NET 2003 le permite crear soluciones de reportes. Cada solución contiene muchos proyectos, y cada proyecto puede contener uno o muchos reportes.
Planificación de la Clase Al finalizar este capitulo, el participante aprenderá a:
Crear un reporte básico Aplicar formato a un reporte básico Usar valores calculados a un reporte
Contenido
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 21
Reporting Services
Manual del Participante
El Report Designer es la herramienta que le permitirá crear un reporte. Proporciona capacidades de drag-and-drop y mecanismos de despliegue para la publicación de los reportes. Report Designer se encuentra integrado a Visual Studio .NET 2003, permitiéndole tomar todas las ventajas del entorno de desarrollo de Visual Studio. Adicionalmente puede crear un reporte manualmente usando el Report Template o si desea puede hacer uso del Report Wizard. Capacidad de Creación de Reportes El Report Designer proporciona una interfaz gráfica que le permite configurar todos los aspectos de un reporte final. Proporciona para ello 3 vistas
Vista de Datos: permite la creación de los Data Source y DataSets Vista Escritorio: para crear regiones de datos y muestren datos en diferentes formatos Pre vista: Permite realizar un vista previa del reporte diseñado
RDL La definición de un reporte contiene información de los datos a recuperar y el entorno de información de un reporte. RDL es una representación de XML para esta definición del reporte. Despliegue Report Designer proporciona la funcionalidad de despliegue, que le permite desplegar reportes, proyectos o soluciones enteras al report Server directamente desde el diseñador. Hay 3 propiedades de despliegue que pueden ser configuradas desde el Proyecto de reportes Reescribir DataSources : re-publica un Data Source cuando se establece en True TargetFolder : especifica el nombre de la carpeta donde los reportes serán publicados TargetServerURL: especifica el URL del report Server
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 22
Reporting Services
Manual del Participante
EL Report Designer Puede crear un reporte de 3 maneras: Crear un reporte en blanco y manualmente agregar consultas al entorno Usando el Asistente, que automáticamente crea una tabla o matriz del reporte basado en información que Ud le proporciona. Importar un reporte existente desde Microsoft Access Cuando se crear un reporte manualmente, típicamente deberá de completar los siguientes pasos: 1. Crear un nuevo reporte con una solución .NET 2. Crear un data Source que le permitirá conectarse a los datos 3. Crear un DataSet definidad por medio de una orden de consulta SQL. 4. Escoger un tipo de región de datos, agregarla a un reporte y entonces proporcionar la region de datos con los campos relevantes provenientes del data set. 5. Determinar los agrupamientos y valores agregados. 6. Agregar formato. 7. Publicar el reporte al Report Server
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 23
Reporting Services
Manual del Participante
La definición de un reporte es almacenada bajo la estructura de un documento XML, especificado usando RDL. Un esquema RDL es usados para validar reportes. Sólo reportes válidos pueden ser publicados en el Report Server. RDL es automáticamente generado por el Report Designer, pero puede ser modificado o creado usando directamente un editor de textos y grabarlo con la extensión .rdl . Características de RDL Proporciona las sgts características: Proporciona un representación XML de la definición del documento. RDL no es una interfaz de programación o protocolo. RDL para un reporte en particular es validado usando el esquema de definición de XML (XSD). El XSD define los elementos aceptados en el documento XML. RDL define un esquema común que promueve el intercambio de definiciones de reporte. RDl es diseñado para obtener salidas en formatos neutrales. Esto significa que un reporte escrito en RDL puede ser generado en múltiples formatos de salida. RDL es un esquema abierto, permitiendo a los desarrolladores extender y agregar funcionalidad personalizada. El
puede ser usado para insertarse dentro de cualquier estructura XML de un documento RDL.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 24
Reporting Services
Manual del Participante
DataSource Contiene información acerca de la conexión a una Base de Datos. Esto incluye información como el Nombre del Servidor, la Base de Datos y credenciales de usuario. Además contiene información de la consulta a ser usada por un reporte. Los campos contenidos en un data set son usados para las bases de la creación de un reporte Data Sources presentan las sgts características: Pueden acceder cualquiere proveedor de datos .NET Puede ser cualquiera de estos 2 tipos: o Compartidos: usado en múltiples reportes o Para un reporte específico: sólo por un reporte. Pueden ser modificados después de que la solución del reporte haya sido desplegada usando el Report Manager. DataSet Un dataset recupera registros de datos basados en una consulta SQL. Las consultas pueden ser construídas creando la orden SQL o con el Query Builder. Presentan las siguientes características: Pueden ser creadas mediante ordenes de consulta SQL estáticas Pueden ser dinámicas agregando parámetros a la cláusula where y mapeandolos con los parámetros del reporte. Fields Cada dataset en un reporte puede contener una lista de campos. Generalmente, los campos van referidos a columnas retornadas a partir de un DataSet. Adicionalmente pueden existir campos calculados los cuales contienen un nombre y expresión.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 25
Reporting Services
Manual del Participante
Creando una Tabla
Layout view
Report preview
Una Región de datos es un control que tiene la capacidad de mostrar datos en una estructura definida que muestre: campos de una base de datos, campos personalizados y expresiones. El tipo más simple de región de datos es una tabla. Región de datos de una Tabla Una tabla es un tipo de región de datos y es hecha a partir de un grupo de celdas organizadas en columnas fijas con registros repetitivos. Cada celda en una tabla contiene items como cajas de texto. El valor mostrado en la caja de texto puede ser una constante o un campo o parámetro Fíjese en la presentación anterior que muestra el cuerpo de un simple reporte (Layaout) y la prevista del reporte. Note que el reporte contiene 2 columnas: Product y Sales Amount y una fila de Total. Los campos pueden ser añadidos de la Ventana de campos y son mostrado como una expresión. Por ejemplo el campo Sales Amount es: =Fields!SalesAmount.Value. Veamos la ventana de campos
En el caso de valores sumarizados la expresión es: =Sum(Fields!SalesAmount.Value)
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 26
Reporting Services
Manual del Participante
Las regiones de datos proporcionan la capacidad de agrupar los detalles de la información, permitiendo la creación de cabeceras y detalles de grupo. Pueden contener diferentes niveles de presentación con sus respectivos totalizadores. Agrupando registros de una Tabla Cada registro de una tabla está asociada a lo siguiente: Un detalle del registro de un dataset Un encabezado o pie de un simple grupo Un encabezado o pie de una tabla Por defecto una tabla consiste en un encabezado de cada registro, un detalle y un pie. Los campos numéricos pueden incluir sumarizadores creando una especie de gran total. Por ejemplo en un reporte de ventas por marcas y líneas se pueden incluir grupos que muestren el detalle vendido por cada producto y los acumulados por marcas y líneas de esos productos. Es posible que en los totalizadores creados incluyan etiquetas y los valores calculados, para existen 2 formas de hacerlo. Uniendo celdas: ámbos aparecerían como una sola celda Espaciando celdas: un mínimo de espacio entre la etiqueta y la caja de texto.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 27
Reporting Services
Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 28
Reporting Services
Manual del Participante
Estructura de la página de un Reporte
Las páginas pueden contener diferentes secciones. Comprendiendo estas secciones será de gran ayuda para diseñar sus reportes y tomando grandes ventajas de las capacidades del diseñador de reportes. Cabeceras y Pies Un reporte puede contener una cabecera y pie al inicio y al final de cada página y contener: textos, imágenes y otros items, pero no pueden contener regiones de datos, subreportes o items que hagan referencia directamente a un campo. Por defecto siempre estarán activas, pero pueden ser suprimidas cambiando el valor de las propiedades: PrintOnFirstPage o PrintOnLastPage Uno de los más comunes uso de un pie es mostrar el Nro de Página para lo cual puede crear una caja de texto con la expresión siguiente: =”Página:” & Globals.PageNumber
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 29
Reporting Services
Manual del Participante
Report Items son usados para agregar datos, estructurar o formatear un reporte. Pueden aparecer en: regiones de datos o items independientes. Pueden ser incluidos usando la caja de herramientas del Report Designer. Regiones de Datos Tablas y matrices proporcionan múltiples niveles de agrupamiento desde una simple región de datos. Existen los sgtes Tipos: Una lista: presenta datos como una forma libre, que puede ir creando cajas de texto, imágenes y otras regiones de datos de 1 registro unico Una tabla: es una región de datos que presenta los datos registro a registro Una Matriz: llamado Cross-Table o referencia cruzada y es usado generalmente cuando no se tiene una idea de la cantidad exacta de columnas que aparecerán. Por ejemplo cuando desea un resumen de ventas de una zona específica, presentando a los vendedores en columnas , y cada zona maneja diferente cantidad de vendedores. Un gráfico: las regiones de datos pueden presentarse gráficamente. Ejemplo: barras, pie y líneas, etc. Items Independientes y Tipos de Items Los tipos de items independientes son los sgts: Lineas Cajas de texto Imágenes Rectángulos Un subreporte que referencia al cuerpo de otro reporte.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 30
Reporting Services
Manual del Participante
Los encabezados de página y pie dan un contexto al reporte. Estos se mostrarán al inicio del reporte y al final en la última página de impresión del reporte, como especie de resumen del reporte. Reporte y Página Entonces los encabezados y pies del reporte se mostrarán sólo en la primera y en la última hoja del reporte, mientras que los encabezados y pies de la página se mostrarán en todas la páginas del reporte. Tabla Los encabezados y pies de una tabla aparecerán al inicio y final de la tabla Grupos Los encabezados y pies de una tabla aparecerán al inicio y final de cada grupo. Generalmente en el pie de grupos se incluyen los campos con las funciones de agregamiento respectiva.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 31
Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Manual del Participante
Pág.: 32
Reporting Services
Manual del Participante
Muchos reportes requiere que se efectúen ordenamientos o incluir valores calculados o totalizadores, promedios, etc., de tal manera que el reporte se ajuste a la necesidad del usuario final y pueda obtener una mejor conclusión de los datos presentados. Muchos de ellos son obtenidos a partir de los campos de una Base de Datos. Campos Calculados Los campos calculados referenciados desde una base de datos deben provenir del mismo origen de datos. Estos campos pueden ser evaluados por cada registro del dataset. Al crear un campo calculado debe tener cuidado con el nombre si fue escrito con mayúscula o minúsculas. El sistema no reportará error, pero no mostrará ningún valor en caso se haya digitado mal.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 33
Reporting Services
Manual del Participante
Existen 5 colecciones globales que pueden ser usadas para referenciar valores con datos en un reporte. Estas colecciones son usadas con items que son capaces de mostrar datos. Fields La colección Fields contiene campos con la data del dataset activo. Estos campos son usados típicamente para mostrar datos en cajas de texto, pero pueden ser usadas en otros items, propiedades y funciones. Items con la colección Fields tienen dos propiedades: Value y IsMisssing. La propiedad Value retorna el valor que fue recuperado por el campo en el dataSet, mientras que IsMissing indica si existe o no el campo en el dataset. Globals La colección Global contiene las variables globales de un reportes, los miembros son los sgtes: Page Number: página actual. TotalPages: Nro de páginas del reporte ExecutionTime : hora y fecha de ejecución del reporte ReportServerURL: URL del report server en el cual el reporte será desplegado ReporFolder: ReportName Parámeters La colección Parameters contiene los parámetros del reporte. Estos parámetros sirven para pasar valores a una consulta, pasar valores como filtros o variables para calcular datos en un reportes. Generalmente son presentados en el reporte mediante cajas de texto. ReportItems La colección ReportItems contiene las cajas de texto del reporte. Una caja de texto puede incluir valores de otras cajas de texto desde una expresión. Por ejemplo: una caja de texto puede llamarse TipoCliente, entonces podría usarse como una expresión de la forma: =ReportItems!Category.Value .
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 34
Reporting Services
Manual del Participante
User La colección User contiene datos del usuario que está ejecutando el reporte, tenemos: UserId UserLanguage Funciones de Agregamiento Proporciona datos sumarizados basados en el detalle de registros desde un dataset. Ejemplos: sumas y promedios
Las funciones de agregamiento permiten retornar un valor a partir de múltiples registros en un dataset. Sintaxis:
Function(Expresión, Alcance)
Donde: Expresión: normalmente es un campo numérico del dataSet Alcance: determina hasta que nivel de detalle será accesada la data cuando se aplique la función, si la omite tomará por defecto el nivel del grupo activo.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 35
Reporting Services
Manual del Participante
Funciones de Agregamiento Comunes
Avg
Promedio
Count
Contar valores
CountDistinct
Contar todos los valores distintos
First
Primer valor
Min
Minimo valor no-null
RunningValue
Agregamientos de ejecución
StDev
Desviación estandard
Sum
Sumar valores
Además de funciones antes nombradas tenemos:
Last : recupera el último valor desde un campo de acuerdo al alcance definido. Max: RowNumber: recupera el valor de la columna identity (incremento automático) en el dataset. StDevP: desviación estandar poblacional Var : varianza Varp : varianza poblacional
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 36
Reporting Services
Manual del Participante
Al veces es necesario mostrar un dato a partir del resultado de la evaluación de una condición en particular. Esto da la posibilidad de mostrar formateo dinámico, por ejemplo para mostrar cifras de un color en función a metas impuestas, la orden podría ser: Iif(ReportsItems!Margin.Value < 0.05, “Red”, “Black”)
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 37
Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Manual del Participante
Pág.: 38
Reporting Services
Manual del Participante
LAB 02 . Ejercicio 01
Creando una Tabla Creando un Nuevo Reporte "Venta de Productos" 1. Abrir SQL Server Business Intelligent Development Studio 2. En el menu Archivo Nuevo, y click Proyecto. 3. Seleccione Business Intelligence Projects 4. Click Proyecto de Servidor de Informes 5. Click Examinar y ubique la carpeta C.\windows\Reportes (sino existe crearla) click Abrir. 6. En Nombre digitar ReporteVentas, click OK.
Creando el Origen de Datos 1. En el Explorador Soluciones, right-click Origenes deDatos Compartidos folder, and then click Agregar Nuevo Origen de Datos.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 39
Reporting Services
Manual del Participante
2. Proceda como la Interfaz sgte:
3. A continuación ingrese los datos respectivos del servidor (localhost) y seleccione la BD (Tenebrosa2008).
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 40
Reporting Services
Manual del Participante
4. Click Test Connection, y luego Aceptar 5. Click Aceptar
Creando el Reporte En el Explorador de Soluciones, right-click en Informes , Agregar Agregar Nuevo Elemento
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 41
Reporting Services
Manual del Participante
7. Proceda como la siguiente interfaz
Click: Agregar
Agregando un conjunto de datos 1. En Datos del Informe en la lista click Nuevo y seleccione < Conjunto Datos >.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 42
Reporting Services
Manual del Participante
Con lo que aparece
Seleccione la conexión compartida
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 43
Reporting Services
Manual del Participante
3. En nombre digite: Resumen_Ref y seleccione Origen Compartido: resumen.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 44
Reporting Services
Manual del Participante
Pegar el siguiente código:
SELECT d.personal,anual = YEAR(d.fecha),mes = MONTH(d.fecha), Total =SUM(dd.cantidad*dd.precunit), Cobranza = (SELECT SUM(Documento .pagado) FROM DOCUMENTO where YEAR(d.fecha) = year(Documento.Fecha) AND MONTH(d.fecha) = month(Documento.Fecha) and D.Personal = DOCUMENTO.PERSONAL and DOCUMENTO.cliente is not null) FROM documento d inner join detadoc dd ON d.documento=dd.documento and d.tipodoc=dd.tipodoc WHERE d.cliente IS NOT NULL GROUP BY d.personal, YEAR(d.fecha), MONTH(d.fecha) 5. Click Aceptar. 6. Grabar archivo
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 45
Reporting Services
Manual del Participante
Agregando un grafico al Diseño 1. Click en la vista de Diseño (Layout) 2. Del Cuadro de herramientas:
Arrastre gráfico al entorno con lo que aparecerá:
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 46
Reporting Services
Manual del Participante
Elija gráfico de líneas: Al aparecer el control gráfico incorporar los campos en la posición de acuerdo al esquema siguiente:
Visualizando el gráfico
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 47
Reporting Services
Manual del Participante
Existen algunos detalles como los meses que aparecen desordenados, esto puede corregirse configurando las propiedades del eje
A continuación configurar el ordenamiento, tal como aparece en el siguiente gráfico
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 48
Reporting Services
Manual del Participante
Agregando una tabla de region de datos Click sobre el gráfico elija la opción : Propiedades de la leyenda
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 49
Reporting Services
Manual del Participante
Incluyendo un parámetro para filtrar información de Ventas Ingrese en propiedades del conjunto de datos ventas:
En el WHERE agregar: AND d.personal = @idPersonal La instrucción completa quedará : SELECT d.Personal, YEAR(d.Fecha) AS anual, MONTH(d.Fecha) AS mes, SUM(dd.Cantidad * dd.PrecUnit) AS Total, (SELECT SUM(pagado) AS Expr1 FROM DOCUMENTO WHERE (YEAR(d.Fecha) = YEAR(Fecha)) AND (MONTH(d.Fecha) = MONTH(Fecha)) AND (d.Personal = Personal) AND (Cliente IS NOT NULL)) AS Cobranza FROM DOCUMENTO AS d INNER JOIN DETADOC AS dd ON d.Documento = dd.Documento AND d.TipoDoc = dd.TipoDoc WHERE (d.Cliente IS NOT NULL) AND d.personal = @idPersonal GROUP BY d.Personal, YEAR(d.Fecha), MONTH(d.Fecha)
Note que el sistema le pedirá un código de personal, el cual será tomado por el parámetro ingresado en el conjunto de datos.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 50
Reporting Services
Manual del Participante
Si se manejan bastantes códigos podría ser complicado tenerlos todos en mente, por lo que crearemos una lista a partir del mismo.
Transformando parámetro en una Lista Agregar un nuevo conjunto de datos
La consulta es la siguiente: SELECT personal, nombre FROM personal WHERE personal IN ( SELECT DISTINCT personal FROM documento WHERE personal IS NOT NULL) ORDER BY 2
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 51
Reporting Services
Manual del Participante
Configurando Parámetro Siga como en el gráfico siguiente:
Visualice el parámetro:
Agregando una tabla de región de datos 1. Click en la barra de herramientas y elija el control tabla tal como muestra el siguiente esquema:
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 52
Reporting Services
Manual del Participante
Incorporando Control Tabla Arrastre del Control de Datos ventas hacia el control tabla
Poniendo Color a las etiquetas Proceda de la siguiente forma:
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 53
Reporting Services
Manual del Participante
Agregando un totalizador a la Columna Total 1. Clic derecho sobre el total del detalle y selección: Agregar Total
Visualice la información
Creando Agrupamientos Vamos a agrupar la información por años, tal como se observa en el sgte diagrama:
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 54
Reporting Services
Manual del Participante
Grabar y Visualizar el Reporte 1. Grabe todos los archivos 2. Click en la Vista Prevista verifique el detalle y los totales
2. Vuelva al diseño y elimine el año de la 2da columna. 3. Ponga un borde a la línea de detalle 4. Realice la prevista respectiva
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 55
Reporting Services
Manual del Participante
Creando Totalizador del Grupo 1. Clic derecho sobre la celda del detalle: [Total] elegir Agregar Total Después de 2. Escriba: ** Total Anual ** según lo indicado, es posible que deba combinar celdas
3. Realice una prevista
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 56
Reporting Services
Manual del Participante
Formateando la Tabla 1. Seleccione la columna Total. 2. En Propiedades : Format digite N0 3. Click en el icono de Detalle y en la propiedad Background Color click WhiteSmoke, 4. Formatear el encabezado de la sgte forma: • Click 12 Font Size • Click Bold en Font Weigth • Click Background Color click Black, • Click Color :White, 7. Proceda a formatear el pie de la tabla de acuerdo a su iniciativa 8. Formatear las sumatorias del Pie del Grupo y del gran total con: N0
Grabar y Visualizar
Ejercicio 2
Formateando Páginas del Reporte A continuación se aplicarán las funciones adicionales de formateo. Incluirá cabeceras, imagines y pies de páginas, imágenes y saltos de página.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 57
Reporting Services
Manual del Participante
Agregando una Imagen al Reporte Mueva hacia abaja el control tabla, haciendo espacio para poder incluir la imagen respectiva. 1. De la caja de herramientas, click Imagen. 2. Clic en: Importar: Tenebrosa.bmp
3. Asegurar de que esté en el botón Incrustado Grabe y visualice
Agregando un Encabezado en la primera página del Reporte 1. Seleccione la tabla y moverla hacia arriba a 4 cm aprox del tope del reporte 2. De la Caja de Herramientas, click Línea. y ubicarla a lo largo del tope 4. En Propiedades, LineWidth = 12pt. 5. Incluya una Caja de Texto., ubicándolo debajo de la línea 6. Digite dentro de la caja de texto: Resumen de Ventas, puede forzar el texto a otra línea presionando SHIFT+ENTER.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 58
Reporting Services
7.
Manual del Participante
Ponga las propiedades Font : Size =20, y FontWeight = Bold
Agregando un Encabezado al Reporte 1. Click en Diseño 2. Right-click al margen izquierdo del cuerpo del reporte, click Page Header. Note la nueva sección, Encabezado de Página, aparece en el tope del reporte 3. Incluya dentro del Encabezado de Página desde el Cuadro de herramientas el control Caja de Texto e incluya el texto: Reporte de Venta de Productos. 4. En la ventana de Propiedades click Encabezado de Página. 5. Active la propiedad PrintOnFirstPage =False. 6. Active la propiedad PrintOnLastPage = True. 7. Click ficha Prevista .
Agregando un Pie de Página al Reporte 1. Agregue un pie de página al reporte e incluya una caja de texto digitando: Confidencial 2. En las propiedades del Pie de Página a PrintOnFirstPage y PrintOnLastPage active True Grabe y Visualice el Reporte
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 59
Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Manual del Participante
Pág.: 60
Reporting Services
Manual del Participante
Exercise 3 Creando Valores Calculados Creando el Campo Calculado Deuda 1. Click derecho en el Conjunto Datos Ventas y elija Agregar Campo Calculado 2. Proceda como la sgte interfaz
3. Agregue la columna Deuda 4. Incluye un totalizador a nivel Anual haciendo clic derecho en la celda y eligiendo expresión :
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 61
Reporting Services
Manual del Participante
5. Proceda igual para crear el totalizador de la tabla para la columna Deuda
Grabar y hacer una prevista:
Creando la columna % Deuda Crear la columna pDeuda con la sgte expresión
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 62
Reporting Services
Manual del Participante
Detalle:
=Fields!Deuda.Value/Fields!Total.Value y para Anual y Grand Total
=Sum(Fields!Margen.Value)/Sum(Fields!SalesAmount.Value)
Deberá de especificar la propidad: Format = P
Grabe y Visualice los resultados
Condicionando Visualización de Datos para Márgenes Pequeños 1. Ubicar del detalle de la tabla la Celda % pDeuda y elija la propiedad Color y de la lista elija Expresión. 2. Digite : =IIF(Me.Value>0.5, "Red", "Black") Me: se refiere al elemento del reporte al cual pertenece la expresión 3.Click OK.
Ms, Ing. Ricardo Mendoza Rivera
Pág.: 63
Reporting Services
Ms, Ing. Ricardo Mendoza Rivera
Manual del Participante
Pág.: 64