Blog del CIIN

Blog del Centro de Innovación en Integración de Cantabria

This Blog

Syndication

Search

Tags

Community

Email Notifications

Archives

Enlaces Recomendados

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

Después del primer post sobre algunas de las novedades que vendrán con SQL Server 2008, estos días he seguido evaluando y probando nuevas funcionalidades para el seminario de la nueva versión del gestor de base de datos de Microsoft. Esta vez le ha tocado el turno a SQL Server Reporting Services 2008 (SSRS 2008) y a la nuevo Report Designer. Empecemos.

Nota: Todas las pruebas las he realizado con la CTP6 de SQL Server 2008.

Comenzando con SSRS 2008

Lo primero que vamos a hacer es introducirnos en el nuevo entorno de diseño de informes de SSRS 2008: el Report Designer. Para acceder al nuevo diseñador, cuyo look & feel, es el de la suite de Microsoft Office 2007: Inicio -> Todos los programas -> Microsoft SQL Server 2008 -> Reporting Services -> Report Designer Preview.

image

Tras realizar un breve recorrido por las opciones de menú disponibles en esta preview (recordar que estamos con la CTP 6), lo primero que tenemos que hacer para crear un informe es definir la correspondiente fuente de datos en la que vamos a basar nuestro informe:

  • Nuestra fuente de datos va a ser la base de datos (BD) Adventure Works.
  • Para crear una nueva fuente de datos, hacemos clic sobre el enlace que aparece en la superficie de diseño del informe Click here to create a data source and data set for your report.
  • De este modo, se abrirá un asistente que nos irá guiando en el proceso de creación de la fuente de datos y el dataset en el que basaremos nuestro informe. En la primera pantalla del asistente especificamos los siguientes parámetros:
    • El nombre del data source: dsAdventureWorks.
    • El tipo de conexión: dejamos la que viene por defecto (Microsoft SQL Server).
    • La cadena de conexión, que configuramos a través del botón Edit. En la misma configuraremos los siguientes parámetros:
      • Nombre del servidor: localhost.
      • Mecanismo de acceso al servidor: Wndows Authentication.
      • Base de datos: AdventureWorks
  • Tras testear la conexión, pulsamos OK y a continuación el botón Next del asistente. De este modo se abrirá la ventana del Query Designer en la que construiremos la siguiente consulta:
image image

SELECT

  PC.Name AS ProductCategory,PS.Name AS SubCategory,

  DATEPART(yy, SOH.OrderDate) AS OrderYear,

  'Q' + DATENAME(qq, SOH.OrderDate) AS OrderQtr,

  SUM(SOD.UnitPrice * SOD.OrderQty) AS SalesAmount,

  Sales.SalesTerritory.[Name] AS Territory,

  Sales.SalesTerritory.[Group] AS Region

  FROM

                 Production.ProductSubcategory AS PS JOIN

                 Sales.SalesOrderHeader AS SOH JOIN

                 Sales.SalesOrderDetail AS SOD ON SOH.SalesOrderID =

                 SOD.SalesOrderID JOIN

                 Production.Product AS P ON SOD.ProductID = P.ProductID ON

                 PS.ProductSubcategoryID = P.ProductSubcategoryID JOIN

                 Production.ProductCategory AS PC ON PS.ProductCategoryID =

                 PC.ProductCategoryID JOIN

                 Sales.SalesTerritory ON SOH.TerritoryID =

                 Sales.SalesTerritory.TerritoryID

  WHERE

                 (SOH.OrderDate BETWEEN '1/1/2003' AND '12/31/2004')

  GROUP BY

                 DATEPART(yy, SOH.OrderDate),PC.Name,

                 PS.Name,'Q' + DATENAME(qq, SOH.OrderDate),

                 PS.ProductSubcategoryID,

                 Sales.SalesTerritory.Name,Sales.SalesTerritory.[Group]

  • Probamos la consulta para ver qué resultados produce.
  • Pulsamos Next y ya tenemos listo el dataset para usarlo en nuestro informe.
image image

Diseñando el informe

Una vez que ya tenemos configurado todo lo necesario para crear un primer informe, vamos a diseñarlo:

  • Desde el menú Insert seleccionamos una región tipo Matrix y hacemos clic sobre la misma, de manera que se insertará en la superficie de diseño del informe.
  • Situamos el control Matrix en el centro del área de diseño utilizando el icono de manejo (icono de cuatro flechas).
  • Especificamos el área de datos a través de los nuevos smart tags contextuales que han sido añadidas a la superficie de diseño. A través de estos smart tags añadimos el campo SalesAmount en la zona Data.

image

image

  • Otra de las novedades de SSRS 2008 es la relativa a como añadir niveles de agrupación a un informe. Es tan sencillo como seleccionar el campo del dataset que vamos a utilizar y arrastrarlo a la sección Row Groups que aparece bajo la superficie de diseño del informe.
  • Repetimos la operación añadiendo en esta ocasión el campo SubCategory, que insertaremos justo debajo de ProductCategory.

  • De la misma forma que hemos especificado el agrupamiento por filas, vamos a realizar el agrupamiento por columnas. Para ello:
    • Arrastramos el campo Region en el área Column Groups.
    • Repetimos el proceso con el campo OrderYear.
image image
  • Lo siguiente que vamos a hacer es añadir Sub-Totales al informe. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Row.
  • Añadimos un nuevo Sub-Total, pero a nivel de columna. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Column.
  • Lo siguiente que vamos a hacer es añadir Totales al informe. Para ello, seleccionamos el campo ProductCategory del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
image image
  • Repetimos el proceso, pero seleccionando en esta ocasión el campo Region, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
  • Para finalizar el informe, utilizamos las herramientas disponibles en el Ribbon Home para darle un aspecto más visual. Por ejemplo, el informe en vista de diseño podría quedar de la forma que se ve en la siguiente figura.
  • Para previsualizar el informe, simplemente pulsamos el botón Preview.
image image

Publicando el informe

vamos al menú de opciones y pulsamos Publish. Aparecerá la pantalla de configuración de publicación del informe. En dicha ventana especificaremos los parámetros de publicación en el servidor:

Sin más, pulsamos OK y una vez que finalice el proceso de publicación, abrimos el navegador y especificamos la url del report manager para previsualizarlo.

image image

Y este sería el resultado en el Report Manager:

image

image

Y esto es todo de momento. En próximos post veremos más novedades de SSRS como la funcionalidad Tablix, los nuevos controles gráficos o como se realiza la gestión del Report Manager fuera de IIS. Espero que el post os haya resultado interesante.

Published 28/4/2008 23:46 por Juan Carlos González Martín

Comparte este post:

Comentarios

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Tuesday, April 29, 2008 7:26 AM

Interesantísimo diria yo :D. Esperaremos los siguientes ;).

Un Saludo

Fran Díaz

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Tuesday, April 29, 2008 8:15 AM

Buenas Fran...la verdad es que la nueva interfaz del Report Designer (a ver como queda finalmente) está muy bien, parece que está en Word o Microsoft PowerPoint. También es curiosa la no dependencia del IIS.

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Tuesday, April 29, 2008 5:28 PM

Pues la verdad es que sí, es muy chula, aunque sólo tuve la oportunidad de verla una vez. A ver si me la instalo pronto y veo que tal funciona todo :D(junto con tus post claro ;)).

También funciona la forma en que se ejecutan los informes locales en la versión 2008. También quiero ver como van. A ver si saco tiempo!!

Un Saludo!!

Fran Díaz

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Tuesday, April 29, 2008 11:40 PM

Buenas de nuevo Fran...pues sí que está chulo, aunque creo que todavía tienen que pulir algunas cosillas en el nuevo Report Designer.

Un saludo

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Thursday, May 08, 2008 9:57 PM

Juan, Muy buen post no he tenido la posibilidad aún de trabjar con SSRS 2008. Mira tengo un problemita con SSRS 2005 resulta que tengo un reporte matricial y le quiero colocar encabezado a las filas por lo visto no se puede? ¿SSRS 2008 lo permite?

Matias Espinoza

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Thursday, May 08, 2008 10:31 PM

Hola Matias,

Me puedes concretar un poco más que quieres decir con poner encabezado a las filas...de todos modos piensa que en SSRS 2008, la región Matrix sigue comportándose como la que tienes en SSRS 2005. La gran diferencia aquí es que tienes la posibilidad de configurarla en modo Tablix que une lo mejor de Matrix y Table y que si permie lo que necesitas. Espero publicar un artículo sobre Tablix próximamente.

Un saludo

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Thursday, May 08, 2008 11:05 PM

Juan, Bien si mira las imagen "image_16" lo que hace es colocar el campo ProductCategory en dentro de "Row Groups".

Por lo que puedo apreciar te coloca el nombre del campo arriba como encabezado. Eso es lo que  no puedo hacer en SSRS 2005.

Otra cosa puedo hacer un link de mi blog al tuyo?

Matias Espinoza

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Thursday, May 08, 2008 11:27 PM

Hola Matias,

Veamos, el ejemplo de informe que hago en el artículo es tipo Table y lo que aparece en la Figura image_16 ya lo tenías en SSRS  2005 con los Grouping Groups. Ahora han cambiado la forma de presentar esta información, pero ya lo teníamos antes...evidentemente, así ahora queda más claro. Entonces, si con tu primera pregunta te referías a poner cabeceras en los agrupamientos de una región Matrix, esto se puede hacer tanto en SSRS 2005 como en SSRS 2008.

Por supuesto que pudes poner un link a nuestro blog.

Un saludo

JC's

Juan Carlos González Martín

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Thursday, May 08, 2008 11:48 PM

Juan, Disculpa pero lo que dice en tu flog es "Desde el menú Insert seleccionamos una región tipo Matrix" y los tipos de reporte que conozco es matricial y tabular. Por ende cuando creas un reporte matricial msdn.microsoft.com/.../ms157334.aspx. Te crea la "esquina" que no puedes colocar el nombre de los campos lo que trato de preguntar si en ssrs 2005 0 ssrs 2008 se puede?

Matias Espinoza

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Friday, May 09, 2008 12:02 AM

Perdona Matias,

Se nota que ya es hora de que me vaya a dormir...efectivamente, el informe del post es de tipo matricial. Respecto a la funcionalidad que necesitas, tienes toda la razón (y el enlace que pones así lo detalla), en SSRS 2005 no se puede hacer...¿se puede hacer en SSRS 2008? Definitivamente sí, con la funcionalidad Tablix...date una vuelta por el post que acabo de publicar ;).

Un saludo y disculpa por el equívoco. Creo que me toca descansar.

Un saludo

JC's

Juan Carlos González Martín

# SQL Server 2008: Creando informes con SSRS 2008 (II)! « Pasi??n por la tecnolog??a…@ Friday, May 09, 2008 12:10 AM

PingBack desde  SQL Server 2008: Creando informes con SSRS 2008 (II)! « Pasi??n por la tecnolog??a…

SQL Server 2008: Creando informes con SSRS 2008 (II)! « Pasi??n por la tecnolog??a…

# re: SQL Server 2008: Creando informes con SSRS 2008 (I)!@ Friday, May 09, 2008 2:30 AM

Juan, Gracias por tú respuesta y preocupación. descanza mientras puedas, mira que en nuestro rubro por lo general se puede poco.

Matias Espinoza

# SQL Server 2008: Creando informes con SSRS 2008 (III)! « Pasi??n por la tecnolog??a…@ Tuesday, May 13, 2008 12:25 AM

PingBack desde  SQL Server 2008: Creando informes con SSRS 2008 (III)! « Pasi??n por la tecnolog??a…

SQL Server 2008: Creando informes con SSRS 2008 (III)! « Pasi??n por la tecnolog??a…

# SSRS 2008: Creación y publicación de informes (I)! « Pasi??n por la tecnolog??a…@ Wednesday, November 12, 2008 11:57 PM

PingBack desde  SSRS 2008: Creación y publicación de informes (I)! « Pasi??n por la tecnolog??a…

SSRS 2008: Creación y publicación de informes (I)! « Pasi??n por la tecnolog??a…