Nuevas Características para Construcción de Reportes con Reporting Services 2005 Report Builder

Publicado: 20/02/2007
Nuevas Características para Construcción de Reportes con Reporting Services 2005 Report Builder

Por Darío Valderrama

Para quienes siguen de cerca los cambios MS SQL Server, deben recordar como en el año 2004, el anuncio de una plataforma completa para la construcción y administración de reportes incorporada con SQL Server empezaba a mostrar como a partir de ese momento no solo debería verse como un excelente motor gestor de datos, sino también como una plataforma integrada que permitiría a los usuarios explotar la información almacenada en los múltiples repositorios que existieran en la compañía, con facilidades administrativas integradas con Windows Server 2003, enriquecidos componentes para diseño de reportes, y flexibilidad en el despliegue de reportes en múltiples formatos. Esto era SQL Server Reporting Services 2000.

Una de las restricciones que Reportig Services presentaba entonces, era que los usuarios que no tuvieran conocimientos avanzados para abrir Visual Studio.Net, construir comandos SQL y utilizar las cajas de herramientas; se encontrarían inhabilitados para poder diseñar sus propios reportes, y finalmente todo el trabajo debería ser asignado a un equipo de desarrollo que se encargara de generar un proyecto y ponerlo en producción.

A finales del 2005 Microsoft hizo el lanzamiento mundial de las nuevas versiones de SQL Server y Visual Studio. NET. En este se describía a SQL Server 2005 como una plataforma orientada en gran porcentaje a la construcción de sistemas para inteligencia de negocios. Con alegría recibía el anuncio de como en esta versión incorporaba a Reporting Services un componente que permitiría que los usuarios de negocio, con pocos conocimientos técnicos, construyeran sus propios reportes y los publicaran en la intranet de la compañía. Este es Report Builder.

A continuación describiré los principales pasos que se deben llevar a cabo para habilitar la construcción de reportes ad-hoc con Report Builder.

Construcción del Modelo desde el Business Intelligence Development Studio (BIDS)

1. El primer paso consiste en ingresar a BIDS y crear un nuevo proyecto tipo Report Model. Asigne un nombre al proyecto.

2. En el Solution Explorer se encuentran las carpetas que alojaran los diferentes objetos que componen el proyecto.

3. Lo primero que se necesita para la construcción de un modelo es por lo menos una conexión al origen de datos desde donde se desea crear los reportes. Esta conexión se crea en la carpeta Data Sources en el Solution Explorer.

Este ejemplo utilizará la base de datos de ejemplo Adventure Works.

4. Despues de configurar el origen de datos, es necesario crear por lo menos un Data Source View, que definirá la cantidad de información que se expondrá en el modelo. Este Data Source View permite referenciar las tablas del origen directamente o por medio de comandos SQL..

Durante la creación del Data Source View, se debe indicar con que conexión se utilizara y las tablas o vistas que se desean involucrar. Se revisa el resumen del asistente y finaliza.

En este momento estamos listos para construir y modificar el modelo de Report Builder

5. En el Solution Explorer, sobre la carpeta Report Models, dando clic derecho se pueden construir los nuevos modelos. Estos se basan en los Data Source Views disponibles en el proyecto.

6. Se inicia el asistente para la creación de modelos y se selecciona el Data Source View a utilizar.

7. Después de seleccionar el Data Source View, el asistente presenta una pantalla en la que se pueden seleccionar las reglas que deseamos que el modelo genere.

El propósito de estas reglas es generar cálculos y agregaciones numéricas y de tipo fecha, para que de manera predeterminada se encuentren disponibles en el modelo final y el usuario pueda hacer uso de ellas en la construcción de sus reportes. Para un modelo estándar se recomienda dejar la configuración como el asistente la presenta.

8. La siguiente pantalla del asistente, permite recolectar estadísticas basadas en los atributos de unicidad y cardinalidad que se pueden obtener de la base de datos. Se recomienda actualizar estas estadísticas siempre que el Data Source View o el esquema de la base de datos origen hayan cambiado.

9. En la última pantalla de asistente, se presenta la posibilidad de lanzar la construcción del modelo con las propiedades definidas previamente. Estamos entonces preparados para la personalización del modelo.

Modificación al Modelo desde el BIDS

En este punto tenemos un modelo práctico cuya composición son un listado de entidades y atributos, a los cuales es posible modificar sus propiedades para cambiar su apariencia o comportamiento.

1. Si nos situamos en la entidad Contact del modelo, podemos observar cómo tanto los atributos heredados de las tablas, como los construidos por el asistente se encuentra disponibles.

2. Si nos situamos en el atributo Email Promotion y expandimos su contenido, podremos observar como cuatro funciones de agregación han sido aplicadas por el asistente. Esto se debe a que detectó que el atributo era de tipo entero. Esto se puede comprobar observando la propiedad Data Type a la derecha.

3. Podemos seguir navegando por las funciones de agregación del atributo # Email Promotion. Si nos situamos por ejemplo sobre # Min Email Promotion y revisamos la propiedad #Expression podremos observar la manera en que esta agregación fue configurada.

4. Para efectos del ejemplo, vamos a ocultar los atributos Phone, Password Hash, Password Salt, Aditional Contact Info y Row Guid, por que no aportan mucho valor a los reportes. Esto se logra modificando la propiedad Hidden a True.

5. El siguiente paso será crear una sencilla expresión que genere el atributo Full Name por medio de la concatenación de los atributos First Name y Last Name.

Dando clic derecho sobre el panel de atributos, se debe seleccionar New >> Expression.

6. En el Editor de expresiones se edita la formula como se observa en la figura:

Puesta en Producción del Modelo

En este punto tenemos un sencillo modelo con algunas modificaciones y podemos publicarlo en el servidor de reportes para que los usuarios puedan utilizarlo libremente en sus diseños.

1. Antes de publicar el modelo debemos verificar que el servidor de reportes se encuentra en ejecución. Una manera práctica para hacerlo es navegar la URL del servicio Web ReportServer (http://-servidor-/reportserver, es la ubicación por defecto.)

2. Después de verificar que el servidor de reportes se encuentra activo, se debe configurar en las propiedades del proyecto la URL de servidor y se procede a la publicación.

3. Esto se realiza dando clic derecho en el proyecto (ubicado en el Solution Explorer) y después clic en Deploy.

4. Para verificar que el Modelo ha sido publicado exitosamente, se puede acceder directamente al Report Manager de Reporting Services (ubicado en http://-servidor-/reports) y verificando que el modelo se encuentre dentro de la carpeta Models.ra:

¿Como se utiliza el modelo?

En el Report Manager encontraremos los modelos publicados por los desarrolladores para que los usuarios que no tienen conocimientos avanzados en consulta de base de datos o en desarrollo de reportes puedan diseñar da manera libre sus reportes.

1. En la barra de herramientas del Report Manager se encuentra el vínculo que invoca la ejecución del aplicativo Windows del Report Builder. Este aplicativo detecta si alguna versión anterior se encuentra instalada, de lo contrario ejecuta la instalación del aplicativo por primera vez.

2. Dentro del Report Builder, el usuario puede escoger el modelo a utilizar y el diseño. Se pueden presentar los datos en forma de matriz, tabla o grafico.

3. Para efectos del ejemplo se seleccionará el diseño de tabla. En este caso diseñaremos un reporte de ventas en el que se presentará la comparación de ventas del año actual contra el anterior.

4. Navegando por el panel de campos a la izquierda, es posible de manera intuitiva construir un reporte arrastrando y soltando los atributos sobre el diseño de la tabla.

5. El siguiente paso es formatear las columnas Total Sales YTD y Total Sales Last Year de manera que muestre valores tipo moneda.

6. En la barra de herramientas se encuentra el menú para generación de filtros. De igual manera que en el diseño de la tabla, basta con arrastrar el atributo por el cual se desea generar el filtro y definir la condición.

7. Para validar todas las configuraciones y diseños, es posible generar una vista previa antes de publicar el reporte. Esto se hace mediante el botón Run Report de la barra de herramientas.

8. Es posible volver al panel de diseño del reporte y agregar nuevas características, como por ejemplo que el reporte no se encuentre filtrado por defecto, sino que el parámetro pueda ser seleccionado desde una lista desplegable.

Guardar el reporte en el servidor

1. Después de que el usuario está satisfecho con el reporte que ha diseñado, tiene la posibilidad de publicarlo en el servidor de reportes en cualquiera de las carpetas a las que tenga permisos.

2. Finalmente el reporte queda publicado de manera convencional y se comportará de manera estándar.

2. Finalmente el reporte queda publicado de manera convencional y se comportará de manera estándar.

Conclusión

Reporting Services 2005 Report Builder, constituye una versátil e intuitiva herramienta para usuarios no técnicos que deseen explotar los datos que su compañía almacena, por medio de reportes, teniendo la posibilidad de publicarlos en un servidor robusto, potente y soportado por la plataforma SQL Server 2005 y Microsoft.NET.

Dario Valderrama

MVP – Windows Server System SQL Server