Reporting Services Manual 2008
Transcript of Reporting Services Manual 2008
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 1
Reportes de Produccion usando Reporting Services
MANUAL DEL PARTICIPANTE
Ms, Ing. Ricardo Mendoza Rivera
http://rimenri.blogspot.com
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 2
Microsoft ® es una marca registrada de Microsoft ® Corporation
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 3
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 4
Modulo 1:
Introducción a Microsoft SQL Server Reporting Services
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 5
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).
Temas a Tratar
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 6
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 7
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 8
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
El diseñador define los datos en el reporte y su presentación
Usa RDL (Reporting Data Language) para proporcionar una
representación en XML. Uso de ADO.NET
Flexible diseñador de reportes
Administración
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.
Entrega
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 9
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.
Administración
Se pueden diseñar reportes donde el usuario pueda seleccionar
condiciones para obtener el reporte como año, sucursales, etc.
Entrega
Veamos las opciones de entrega Diferentes formatos ( HTML, PDF, TIFF, XLS, XML, CSV, DOC)
Diferente mecanismos de entregas a los subscriptores establecidos
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 10
Reporting Services puede ser aplicado para soportar múltiples escenarios que incluya las
necesidades internas y externas.
Internas
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.
Externas
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.
Embedded
Reporting
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 11
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 12
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 13
Visualizar el reporte: Sales Summary Report.
1. Clic en la carpeta : Examples Reports
2. Haga clic en Sales Summary
3. Visualice el reporte. 4. 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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 14
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 15
4. Seleccionando el Data Source
5. Elija : Nuevo origen de datos 6. En tipo: Microsoft SQL Server
7. En cadena de conexión elija: Edit 8. 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:
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
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 16
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 17
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 18
Componentes de Reporting Services
Visual Studio .NET Report Designer
IIS
.NET Framework
Report Server
Report Manager
Servidor
SMTP ServerE-mail
Extension
SQL Server
SQL Server Agent
Report Server
Database
PrerequisitoComponente
UtilitariosWindows 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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 19
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 20
Modulo 2:
Preparando Reportes Básicos
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 21
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.
Contenido
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 22
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 23
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 24
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 <cliente> </cliente> puede ser usado para insertarse
dentro de cualquier estructura XML de un documento RDL.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 25
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 26
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)
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 27
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 28
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 29
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 30
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 31
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 32
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 33
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 34
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 .
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 35
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 36
Funciones de Agregamiento Comunes
Sumar valoresSum
Desviación estandardStDev
Agregamientos de ejecuciónRunningValue
Minimo valor no-nullMin
Primer valorFirst
Contar todos los valores distintosCountDistinct
Contar valoresCount
PromedioAvg
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 37
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”)
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 38
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 39
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 40
2. Proceda como la Interfaz sgte:
3. A continuación ingrese los datos respectivos del servidor (localhost) y seleccione la BD (Tenebrosa2008).
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 41
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 42
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
>.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 43
Con lo que aparece
Seleccione la conexión compartida
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 44
3. En nombre digite: Resumen_Ref y seleccione Origen Compartido:
resumen.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 45
Pegar el siguiente código:
5. Click Aceptar. 6. Grabar archivo
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)
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 46
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á:
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 47
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 48
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 49
Agregando una tabla de region de datos Click sobre el gráfico elija la opción : Propiedades de la leyenda
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 50
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á :
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.
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)
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 51
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 52
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:
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 53
Incorporando Control Tabla
Arrastre del Control de Datos ventas hacia el control tabla
Poniendo Color a las etiquetas Proceda de la siguiente forma:
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 54
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:
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 55
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 56
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 57
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 58
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 59
7. 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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 60
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 61
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 :
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 62
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
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 63
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.
Reporting Services Manual del Participante
Ms, Ing. Ricardo Mendoza Rivera Pág.: 64