Colabora .NET

Introducción a Reporting Services

 

Fecha: 27/Sep/2006 (22-Sep-2006)
Autor: Hermilson Tinoco Gaviria - hertino_sql@hotmail.com

 


Introducción

Con la orientación de Microsoft hacia una plataforma BI (Business Intelligence) se ha abierto las puertas para nuevas herramientas empresariales tal como administradores de servidores y otros servicios. Con Microsoft SQL Server 2000 o 2005 se incluye un componente adicional el cual contiene un generador de reportes conocido actualmente como Microsoft SQL Server Reporting Services, este componente permite generar reportes de datos almacenados en una base de datos sin necesitar herramientas de terceros. Esta es una herramienta que esta basada en una plataforma de servidor de reportes, la cual es administrada vía Web Services, permitiendo un acceso fácil, seguro y una gran variedad de formatos.

Aunque esta herramienta estaba planeada para ser liberada con SQL Server 2005, Microsoft decidió liberar este componente para trabajar con SQL Server 2000. Encontrándose en el mercado en ambas presentaciones.

Componentes

Los cuatro principales componentes de Reporting Services son:

a. Report Server: El servidor de reportes es el encargado del procesamiento de la informacion tratada por Reporting Services. Este servidor trabaja como un servicio Web, el cual maneja otros subcomponentes encargados de obtener los datos de la base de datos fuente, procesar esta información y mostrarla adecuadamente según las definiciones almacenadas con el reporte. Este servidor puede utilizar un formato intermedio del reporte, el cual es creado al momento de generar el reporte por primera vez o puede comenzar a procesar el reporte desde la fase inicial.

Estos Subcomponentes son:
• Data Processing Extension: Es el encargado de recuperar los datos fuente para generar los reportes.

• Rendering Extensions: componente encargado de permitir la conversión de los reportes a distintos formatos. Reporting services incluye las siguientes extensiones: HTML, HTML con Office Web Components, Multipart HTML, Microsoft Excel, Imagen / TIFF, PDF, Variables separadas por coma, XML y Custom.

• Report Processor: Es el encargado de procesar la informacion recolectada por el Data Processing Extensions, Rendering Extensions y las definiciones del reporte leídas del Report Server Database.

• Request Handler: Es el encargado de recibir y contestar todas las peticiones realizadas por el Report Manager y por los componentes cliente.

• Delivery Extensions: Es el responsable de entregar los reportes generados con programación de envió. Reporting Services permite las siguientes extensiones de entrega: E-mail, File System y Custom. Este componente trabaja en conjunto con el Scheduling And Delivery Processor.

• Scheduling and Delivery Processor: procesador encargado de la planificación y entrega de los reportes generados para eventos, con notificación o para destinatarios.

b. Report Server Database: Es la base de datos que almacena toda la informacion relevante al Report Server, como los reportes, sus definiciones, metadatos, notificaciones e historia. Además se encarga de almacenar todo lo relacionado a la seguridad.

c. Report Manager: permite la administración de los reportes vía Web, este administrador trabaja sobre un servidor Web y además permite visualizar los reportes.

d. Report Designer: Es una herramienta gráfica para diseñar y crear reportes, integrada con Microsoft Visual Studio® .NET 2003/2005.

Reporting Services permite los siguientes Data Sources:

	• SQL Server 2005/ 2000
	• SQL Server 7.0 
	• SQL Server 2000 Analysis Services 
	• Oracle 
	• Open Database Connectivity (ODBC) data sources
	• OLE DB data sources

Requerimientos

Los requerimientos mínimos exigidos por Reporting Services son:

Hardware
Procesador Pentium II o compatible de 500 MHz o superior
Memoria 256 MB de RAM o superior
Disco duro 325 MB disponibles para la instalación completa
50 MB disponible para el Report Server
30 MB disponible para el Report Designer
100 MB disponible para el Framework 1.1 o 2.0
145 MB disponible para los ejemplos y Books Online.

Software
Sistema operativo Windows Server 2003, Standard, Enterprise, Datacenter Editions.
Windows 2000 Server, Advanced o Datacenter con SP4 o superior.
Windows XP Professional con SP1 o superior
Windows 2000 Professional con SP4 o superior
Database SQL Server 2000 Standard, Enterprise o Developer Editions con SP3 o superior.
Otros 1. Se requiere una conexión local o remota a un servidor de base de datos Microsoft SQL Server 2000 con Service Pack 3, para almacenar los componentes del Report Server Manager y las definiciones de los reportes. Se recomienda usar la edición de Reporting Services que corresponda con la edición de SQL Server 2000 instalada.

La base de datos fuente puede ser MSDE, pero el Report Server Database no se puede instalar en esta edición.

2. La instalación de Microsoft .NET Framework es requerida.

3. Internet Explorer 6.0 o superior es requerido para el acceso al Report Manager desde los computadores cliente.

4. Internet Information Services 5.0 o superior.

5. Microsoft Visual Studio® .NET 2003/2005 no es requerido, pero es la mejor opción para el diseño de reportes, utilizando el Report Designer. Se puede utilizar la Edición Standard de estas herramientas Microsoft .NET: VB, C#, C++ o J#.

6. Los formatos de conversión adicionan nuevos requerimientos, por ejemplo: Los archivos .PDF (Portable Document Format) requieren Adobe Acrobat Reader.

Licenciamiento

Microsoft SQL Server Reporting Services no cuenta con una licencia propia. Para utilizar los servicios de Reporting Services es necesario obtener una licencia de SQL Server 2000 o 2005, ya que este componente es parte de la licencia de SQL Server y su licenciamiento funciona igual al de SQL Server Analysis Services.

Si se cuenta con una licencia de SQL Server, se puede instalar Reporting Services en el mismo servidor sin una licencia adicional.

Hay dos opciones de licenciamiento para SQL Server 2000 Reporting Services disponibles:

• Per-Processor. Se requiere una licencia para cada procesador en el sistema operativo en que se ejecuta Reporting Services. Esta licencia no requiere licencias de clientes o equipos.
• Server plus CALs. Requiere una licencia para la computadora en la que se ejecute Reporting Services, así como un CAL para cada usuario o equipo cliente que acceda a los reportes directa o indirectamente (incluido Report Designer).

Instalación

La instalación de Microsoft SQL Server 2000 Reporting Services, es muy sencilla, solo es seguir los pasos propuestos por el instalador, los cuales van desde el cumplimiento de los requerimientos, selección de componentes, configuración de servicios y directorios virtuales, hasta la selección de la instancia de SQL Server donde se instalara el Report Server Database.

Una vez finalizada satisfactoriamente la instalación se debe comprobar el correcto funcionamiento de los componentes instalados.

Componentes instalados Descripción
Servicio de ReportServer Servicio del Report Server el cual se puede configurar en la opción "Services" de Windows.
Directorios virtuales Los directorios virtuales Reports y Report Server creados para el almacenamiento y administración de los reportes.
Bases de datos Las bases de datos ReportServer y ReportServerTempDB son las encargadas del almacenamiento y procesamiento de los reportes. Estas bases de datos están asociadas al componente Report Server Database.
Report Manager Es la herramienta Web para la administración de Reporting Services.
Reporting Services Books Online Ayuda en línea de Reporting Services.
Microsoft .NET Framework El Framework de .NET.
Report Designer Si se instalo, comprobar su funcionamiento a través de Microsoft Visual Studio.

A la fecha de publicación de este artículo, se encontraba disponible el Service Pack 2 para Microsoft SQL Server Reporting Services, el cual incluye mejoras en desempeño, funcionalidad y algunos ajustes a problemas; estos se pueden descargar en la siguiente ubicación:

Descargar Service Pack 2.

Lista de versiones de Reporting Services

Microsoft SQL Server Reporting Services Version 8.00.743.00 sin Service Pack.
Microsoft SQL Server Reporting Services Version 8.00.878.00, con SP1.
Microsoft SQL Server Reporting Services Version 8.00.1038.00, con SP2.

ESCRIBIR TU PRIMER REPORTE

Una vez realizada la instalación y la comprobación de los componentes se puede empezar a diseñar, modelar y publicar reportes. En esta primera entrega introductoria se incluye un ejemplo muy básico de cómo generar un reporte, utilizando Microsoft SQL Server Reporting Services, Microsoft Visual Studio 2003/2005 y el Report Designer. En próximas entregas se espera incluir nuevos ejemplos ampliando las funcionalidades de los reportes.

1. Definir la fuente de datos
Para este primer reporte se tomara como base de datos de ejemplo a Pubs, esta viene incluida con la instalación de SQL Server 2000, lo que se requiere es mostrar en un reporte los títulos, precios y fecha de publicación de los libros almacenados en la tabla “Titles” y se debe permitir agrupar estos títulos por categoría.

Se inicia creando un nuevo proyecto en Microsoft Visual Studio , aquí se debe seleccionar el tipo de proyecto, en este caso se selecciona el asistente de reportes y se incluye el nombre del proyecto y su ubicación. Esto inicializa el Report Wizard.

Después de esto es presentada una pantalla de bienvenida la cual se puede configurar para que no se vuelva a mostrar, los siguientes pasos son de configuración y modelamiento.

Según el ejemplo se continúa con la configuración de la fuente de datos (Ver Figura 1).

New data source Seleccionado
Name CnnPubs
Type Microsoft SQL Server
Connection string Seleccionar Edit…
  • Seleccionar el nombre del servidor SQL Server. En este caso va a ser (Local)
  • El tipo de autenticación a utilizar y el usuario si es un usuario SQL Server.
  • Seleccionar a Pubs como la base de datos en el servidor.
  • Comprobar la conexión.
  • Aceptar
Esto genera una cadena de conexión similar a la siguiente cadena:
   data source=(Local);initial catalog=pubs
Make this a shared data source Seleccionar. Esta opción permite que este Data Source sea utilizado por otros reportes en este proyecto.


Figura 1. Selección de la fuente de datos
Figura 1. Selección de la fuente de datos

2. Seleccionar los datos

Ya conectados a la fuente de datos se realiza el diseño de la consulta que aportará los datos requeridos por el reporte. Si se desea se puede utilizar un diseñador de consultas ingresando por la opción Query Builder. Para este ejemplo el Query string es el siguiente.

Select	type,
	title,
	price,
	pubdate
From	titles

3. Escoger el tipo de reporte

El tipo de reporte utilizado en este ejemplo es Tabular, este tipo de reporte es recomendado para reportes lineales, en caso contrario se puede utilizar el tipo de reporte Matrix.

4. Diseño

En el paso siguiente se deben seleccionar las columnas indicadas para cada sección del reporte. Las secciones disponibles son:

Page Agrupador de campos, que permite separar los grupos a nivel de pagina
Group Agrupador de campos, el cual agrupa los datos a nivel de detalle.
Details Sección de detalle del reporte.

La pantalla de diseño del asistente para el reporte de ejemplo debe ser similar a la figura siguiente. El campo type se encuentra dentro de la sección Group, ya que uno de los requerimientos del reporte es agrupar los datos por categoría.
 

Figura 2. Selector de campos
Figura 2. Selector de campos

Ahora es momento de modelar el reporte y para esto se debe seleccionar el tipo de presentación, el estilo, si incluye los subtotales para valores numéricos y si es necesario habilitar el drilldown (selección por jerarquía).

Type Stepped
Include subtotals No seleccionado.
Enable drilldown Seleccionado.
Style Corporate.
 

Figura 3. Presentación y estilo
Figura 3. Presentación y estilo

Después de realizar estos dos últimos pasos, se diligencia el nombre del reporte y se finaliza el asistente. En este paso se puede seleccionar la opción Preview Report, para ver el reporte una vez finalice el asistente.

Publicación del reporte

El Data Source es almacenado como un archivo XML dentro del proyecto de Visual Studio y el reporte se guarda con extensión RDL.

Para su publicación es necesario iniciar el Report Manager y realizar el correspondiente cargue del reporte (upload file). Este administrador funciona de manera similar al Explorador de Windows o a un administrador Web.


Conclusión

Este componente permite generar reportes de una manera amigable, ágil y fácil, brindando a los desarrolladores y administradores de bases de datos una herramienta capaz de facilitar su gestión, desenvolviéndose eficazmente sin recurrir a personal externo o incurrir en costosos programas generadores de reportes.

Este primer artículo solo busca recopilar y plasmar la información necesaria para iniciarse en la herramienta Reporting Services, en el siguiente artículo se profundizara en el tema utilizando nuevos ejemplos.


Vínculos de referencia:

Referencia en pdf.

Referencia en htm.

 



ir al índice principal del Guille