SQL Server 2008: Creando informes con SSRS 2008 (II)!

Hace un par de semanas explicábamos los principales cambios que aparecen en SSRS 2008 a la hora de crear y publicar informes. Veíamos que una de los principales cambios viene dado por la nueva apariencia del Report Designer que tiene un look & feel como el de la suite de Microsoft Office 2007. Pues bien, además de esto, SSRS 2008 es mucho más flexible que su predecesor en cuanto a que nos permite definir nuevos tipos de informes que antes no eran posibles, enriquecerlos con una serie de controles gráficos (DUNDAS), independencia con respecto a IIS a la hora de gestionar y configurar los distintos elementos de SSRS, etc.. En este post veremos el primer punto: definir nuevos tipos de informes que antes no eran posibles. En particular, vamos a ver una nueva y novedosa forma de organizar los datos: la funcionalidad Tablix. Empecemos.

Los orígenes de la funcionalidad Tablix

Antes de enseñaros un ejemplo de esta funcionalidad que nos permite construir informes todavía más flexibles, vamos a hacer un poco de memoria y buscar el origen de esta funcionalidad. Como sabéis, en versiones previas de SSRS, había dos tipos de regiones principales de datos: Table y Matrix. En una primera aproximación, una región Table se caracteriza porque tiene un número fijo de columnas y un número variable de columnas. En cambio, en una región Matrix el número de filas y columnas es variable. Esta es la primera gran diferencia (aunque hay más), de manera que a la hora de elegir si utilizar una u otra región nos podíamos guiar por la siguiente tabla (incluye también las pautas para determinar si necesitamos utilizar listas o gráficos):

Tipo de Estructura

Descripción

Niveles de Agrupación

Agrupación en base a ….

Table

Número fijo de columnas, con un número variable de filas (repeticiones)

De 0 a n

Columnas

Matrix

Crosstab fijo, con número variable de filas y columnas de datos agregados

De 0 a n

Filas o columnas

List

Layout con forma libre en el que se repiten una serie de elementos de informe

Uno

Lista

Chart

Visualización gráfica de los datos agregados de un cierto dataset

Categoría y Series

Depende del tipo de gráfico

¿Y por qué la funcionalidad Tablix? Esta es una buena pregunta a la vista de la tabla anterior, porque combinando las regiones anteriores tenemos cierta flexibilidad para crear tipos muy variados de informes…pero claro, ¿no tendríamos todavía más flexibilidad si existiera un mix entre Table y Matrix? Pues sí, y este es el quid de la cuestión. Por definición: Tablix = Table + Matrix, es decir se trata de una nueva forma de organizar los datos que coge lo mejor de Table y lo mejor de Matrix:

Como vemos, algunas novedades que se aprecian en esta funcionalidad y que no están disponibles en la región Matrix (Tablix viene a superar muchas de las limitaciones de Matrix) son:

  • Posibilidad de que distintos niveles de agrupamiento compartan la misma columna (en este caso categoría de producto y subcategoría).
  • Se puede definir niveles de agrupación extremo a extremo (agrupaciones por año y región).
  • y otras que no se aprecian en el pantallazo anterior como por ejemplo al posibilidad de definir grupos de agregación independientes

Bueno, aunque la teoría está muy bien, pasemos a la práctica.

Utilizando la funcionalidad Tablix en SSRS 2008

Para probar la funcionalidad Tablix, partiremos del informe creado en el post previo sobre SSRS 2008 (recordad que el informe está basado en la famosa BD AventureWorks :)):

  • Dentro del control Matrix del informe, borramos la columna de agrupamiento OrderYear. Para ello, seleccionamos la columna completa y pulsamos la opción Delete Columns.
  • Borramos la columna Total siguiendo el procedimiento anterior.
  • Borramos la fila Total que aparece encima de Product Category siguiendo el mismo procedimiento, pero aplicando la opción Delete Rows.El informe en vista de diseño debería tener el aspecto de la segunda figura.
  • Añadimos un nuevo grupo basado en el campo OderYear. Para ello, seleccionamos el campo Region del control Matrix, hacemos clic con el botón derecho del ratón y a continuación Region Group -> Add Group -> Adjacent Right.
image image image
  • En la ventana que se abre especificamos los siguientes parámetros:
    • Group name: Tablix1_Group1.
    • Group expression: Fields!OrderYear.Value
  • A través del smart tag de cada celda bajo la nueva columna que hemos creado, vamos añadiendo el campo SalesAmount.
  • Añadimos un subtotal para el campo Region. Lo añadiremos a partir de la celda Sum(SalesAmount) que aparece debajo de la columna Region. Para ello, hacemos clic con el botón derecho del ratón en esta celda y luego Add Total -> Column.
  • Por cada nueva celda que aparece bajo la columna que acabamos de crear, insertamos el campo SalesAmount utilizando el smart tag de cada celda.
  • Repetimos los dos pasos anteriores para añadir una nuevo subtotal (de tipo columna) para el campo OrderYear. En este caso, añadimos el subtotal haciendo clic sobre el campo Sum(SalesAmount) y utilizando el procedimiento estándar seguido en ocasiones anteriores.
image image image
  • Tras darle formato al informe, el aspecto en vista de diseño debería ser similar al siguiente:

image

  • Lo que hemos hecho en este informe es añadir dos columnas dinámicas e independientes, basadas en el mismo conjunto de valores…y esto es Tablix…algo que Matrix (parece que suena a película) no permitía hacer. Sin más, previsualizamos el informe:

image

Y esto era lo que os quería contar sobre Tablix. Sin duda esta es una de las grandes novedades de SSRS 2008 y una de las grandes revindicaciones tradicionales de los diseñadores de informes. En las próximas entregas veremos los nuevos controles y su uso al estilo Office, así cómo las novedades en cuanto a la configuración y gestión de SSRS 2008. Espero que el post os haya resultado interesante.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

5 comentarios en “SQL Server 2008: Creando informes con SSRS 2008 (II)!”

  1. Je Je…gracias Fran. Hazlo sin dudarlo 😉 Seguro que en SSRS descubres muchas más cosas de las que yo estoy contando :PPPP

    Saludos

    JC’s

  2. Muy buenas svildoso,
    Si te refieres a la funcionalidad Tablix, estará incluida como una de las grandes novedades a la hora de crear informes en SSRS y utilizando Report Designer. Si te refieres al Report Designer, forma parte del componente que de SSRS de SQL Server 2008. Lo que no se es como se integrará con Visual Studio 2008, imagino que de momento como Add-In y que con el futuro SP1 ya se integre completamente.

    Un saludo

    JC’s

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *