Pasión por la tecnología…

Septiembre 16, 2009

SQL Server 2008 R2: Creación de un informe de tipo mapa!

Archivado en: SQL Server 2008 R2, SQL Server Reporting Services — Juan Carlos González Martín @ 9:06 pm

Siguiendo con las novedades que vienen con SQL Server 2008 R2, y en particular con la nueva región de datos de tipo Mapa que tenemos disponible para crear informes en SQL Server Reporting Services 2008, en esta ocasión os dejo un vídeo demostrativo sobre como construir un informe utilizando este nuevo tipo de región. El vídeo ha sido realizado por Alberto Rivera.

Septiembre 7, 2009

SSRS 2008: Como añadir tus propias plantillas de informe!

Archivado en: SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 9:11 pm

Como sabéis, SQL Server Reporting Services (SSRS) cuenta con dos plantillas pre-definidas para crear informes. Una de ellas nos permite crear el informe desde cero (plantilla de tipo Report Item) y la otra a través de un asistente (plantilla de tipo Report Wizard):

image

Pero, ¿Podemos añadir nuestras propias plantillas de informe? Por supuesto, lo único que tenemos que hacer en el BI Management Studio es:

  • Crear la plantilla de informe base que en sí es un informe, pero que contiene los elementos que hemos identificado como comunes para los informes de nuestra organización.
  • Copiamos el archivo RDL en la siguiente ruta (para SSRS 2008):

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\ProjectItems\ReportProject

  • Probamos a añadir un nuevo ítem al proyecto de SSRS y veremos como aparece la plantilla que acabamos de crear lista para usar como base para nuestros nuevos informes.
image image image
  image  

Si lo que queremos es añadir una plantilla de informe para el asistente de creación de informes, tenemos que modificar el archivo StyleTemplates.xml ubicado en el path siguiente (para SSRS 2008):

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Business Intelligence Wizards\Reports\Styles

Y hasta aquí llega este post sobre como añadir nuestras propias plantillas de informes en SSRS 2008. Espero que el post os haya resultado interesante.

Septiembre 3, 2009

SQL Server 2008 R2: Algunas novedades en Reporting Services (I)!

Archivado en: SQL Server 2008 R2, SQL Server Reporting Services — Juan Carlos González Martín @ 9:26 pm

Finalmente esta semana he encontrado un rato para poder instalar la CTP de SQL Server 2008 R2 y ver algunas de las novedades. De momento os destaco las siguientes de forma resumida y rápida y centradas en la parte de Reporting Services:

Nuevo Report Manager

Por fin el Report Manager cambia de look & feel y de como utilizar sus funcionalidades. No es SharePoint, pero se parece bastante:

  • A nivel de ítem publicado en el Report Server, aparecen unos menús contextuales muy parecidos al menú de acciones de un ítem de SharePoint.
  • Se puede exportar el informe a formato Feed y nos podemos suscribir vía RSS al informe.
  • Si decidimos crear un informe desde el Report Manager, se lanza Report Builder 3.0.
Report_Manager_1 Report_Manager_2 Report_Manager_3
  Report_Manager_4  

Nuevo Report Builder

Aunque me atrevo a afirmar que no me esperaba sorpresas en la versión 3.0 de Report Builder dado el gran salto que se había dado con Report Builder 2.0, si que me he encontrado una grata sorpresa que ya adelante el mes pasado en la forma de un nuevo control para crear informes tanto con Report Builder como el Business Intelligence Management Studio: el control Map. Básicamente nos permite definir informes sobre mapas geográficos en el que colocar los datos que nos interesen de nuestro origen de datos y aprovechar los tipos de datos espaciales que aparecieron con SQL Server 2008:

Report_Builder_3_1 Report_Builder_3_2 Report_Builder_3_3

Lógicamente, en la CTP actual de SQL Server 2008 R2 el control Map sólo dispone de mapas de Estados Unidos. Como siempre, este control lo podemos usar de forma directa o bien usando el correspondiente asistente.

Report_Builder_3_4 Report_Builder_3_5 Report_Builder_3_6
  Report_Builder_3_7  

Y de momento hasta aquí llega este primer post sobre novedades de Reporting Services en SQL Server 2008 R2.

Agosto 15, 2009

Report Builder 3.0: Disponible la CTP de agosto de 2009!

Archivado en: SQL Server 2008 R2, SQL Server Reporting Services — Juan Carlos González Martín @ 8:43 am

Si desde principios de esta semana tenemos disponible la primera CTP de SQL Server 2008 R2, desde ayer tenemos ya disponible también la primera CTP de la versión 3.0 del Report Builder. Os recuerdo también el enlace de descarga de la CTP de agosto de 2009 de SQL Server 2008 R2.

Report Builder 3.0

Junio 21, 2009

SQL Server 2008: Como habilitar drilldown en un gráfico de SSRS 2008!

Archivado en: SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 8:34 am

Como sabéis, una de las principales novedades de SQL Server Reporting Services 2008 (SSRS 2008) es la nueva paleta de controles gráficos que trae de serie. Estos controles están basados en los de DUNDAS (Microsoft compró hace más de un año el código fuente de estos controles a DUNDAS) y son más espectaculares que los que hasta ahora teníamos en SSRS.

Una de las cosas que podemos hacer con estos gráficos en SSRS 2008 es habilitar el drilldown de manera que podamos dotar de bastante interactividad a los mismos. Para habilitar activar el drilldown en un gráfico de SSRS 2008:

  • Hacemos clic en el área del gráfico con el botón derecho del rato y marcamos la opción Series Properties.
  • En la ventana que se abre, nos vamos a la sección Action y marcamos Go To Report. De esta forma, se habilita un combo con los informes que contiene nuestra solución y a los que podemos navegar al hacer clic sobre una de las series del gráfico.
  • Elegimos uno de estos informes, y además configuramos el parámetro que espera recibir el informe destino a partir de un campo de información en el informe origen.
  • Hacemos un preview del informe y veremos que podemos hacer clic sobre cualquiera de las series del gráfico.
image image image

  • Tras hacer clic, llegaremos al informe destino pasándole el parámetro correspondiente (en este caso la categoría de producto).

image

Y hasta aquí llega este rápido tip sobre gráficos en SSRS 2008.

Junio 17, 2009

SQL Server 2008: Tips, Tricks & How-To en SSRS 2008 (III)!

Archivado en: SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 9:37 pm

Siguiendo con la serie de posts sobre tips, tricks & how-to de SQL Server Reporting Services 2008 (SSR 2008), cuyo último capítulo puedes encontrar en este enlace, en esta ocasión os voy a presentar más aspectos a tener en cuenta a la hora de buscar funcionalidades más que requeridas en nuestros informes de SSRS 2008. Empecemos.

Cómo añadir cabeceras flotantes a un informe

Para lograr que nuestras cabeceras permanezcan visibles en nuestro informe aunque hagamos un scroll (similar a la opción de fijar paneles de Microsoft Excel), el nuevo diseñador de SSRS 2008 “parece” que nos sugiere realizar lo siguiente:

  • seleccionamos la tabla que contiene nuestro informe, botón derecho y pulsamos Tablix Properties.
  • En la pestaña general no tenemos más que marcar la opción Header should remain visible while scrolling.
  • En teoría, sería probar el informe y comprobar que las cabeceras permanecen visibles al hacer un scroll…pero cuál será vuestra sorpresa (como lo fue en mi caso) que esto no será así.
image  image

Tras indagar un poco en la red, rápidamente llegaremos a soluciones que nos harán ver la luz como la que se indica en este enlace y en está página de MSDN. Básicamente lo que tenemos que hacer para lograr el efecto de cabeceras flotantes es:

  • En el diseñador de informes de VS 2008 o de Report Builder 2.0, nos vamos a las nuevas secciones de agrupamiento y desplegamos la pestaña que aparece para seleccionar Advanced Mode.
  • De esta forma aparecen los miembros estáticos de nuestra región de datos.
  • Seleccionamos el primero de estos miembros estáticos que se corresponde con nuestras cabeceras y a través de la ventana de propiedades especificamos que la propiedad FixedData tenga el valor True de manera que las cabeceras estará siempre visibles. Además, si especificamos la propiedad RepeatOnNewPage a True, conseguiremos que las cabeceras aparezcan en cada nueva página que tenga el informe.

image

image

image

  • Sin más, comprobamos que las cabeceras flotantes están operativas…pero también que no se muestran en páginas sucesivas del informe….luego nuestra solución se queda a medias, y de momento no he encontrado como solucionar este inconveniente (en cuanto dé con la solución os lo cuento).

 

image image

Añadir saltos de página al informe

Al igual que ocurría con SSRS 2005, en SSRS 2008 podemos añadir saltos de página. Por ejemplo, vamos a añadir un salto de página por cada tipo de producto: nos vamos a la sección Row Groups, seleccionamos Group2 (nivel de agrupamiento de acuerdo a Cagegory) y a continuación Group Properties. En la ventana que se abre marcamos la opción Between each instance of a group en la sección Page Breaks.

image image

 

Habilitar un mapa de informe

Finalmente, para concluir la tercera entrega de trucos sobre la cración de informes con SSRS 2008 os voy a comentar como añadir un mapa de informe para facilitar la navegación por el mismo. En este caso, la configuración la he hecho en Report Builder 2.0, con Visual Studio es exactamente lo mismo:

  • Seleccionamos en primer lugar una de las agrupaciones de nuestro informe sobre la que basar la creación del mapa del informe.
  • Hacemos click con el botón derecho del ratón y seleccionamos la opción Group Properties.
  • En la ventana que se abre nos vamos a la sección Advanced y en Document Mapa simplemente elegimos que campo de nuestro informe vamos a usar para el mapa del informe.
  • Sin más, probamos que el mapa queda como queremos.
image image image

Y hasta aquí llega esta tercera entrega sobre trucos para la creación de informes con SSRS 2008. Espero que el post os haya resultado interesante.

Mayo 18, 2009

SSRS 2008: Construyendo un informe a partir de un EDM de ADO.NET Entity Framework!

Archivado en: ADO.NET Entity Framework, SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 8:26 pm

Siempre me digo que responder de forma tajante una pregunta que te hacen en torno a tecnologías es la opción cuando estás seguro de la respuesta, pero cuando no lo estás al 100 % lo mejor es responder que no sabes la respuesta. Precisamente esto es lo que me ha pasado en el último curso sobre SQL Server Reporting Services 2008 (SSRS 2008) que he impartido. La pregunta en este caso fue la siguiente: ¿Se pude crear un informe a partir de un Entity Data Model (EDM) de ADO.NET Entity Framework? Tras no pensarlo mucho, contesté que en el Report Designer de Visual Studio o en el Report Builder no porque espera una fuente relacional, un modelo de datos, datos XML, pero no un modelo de entidades de negocio como el que tenemos con EF o LINQ To SQL…la pregunta tenía toda su lógica ya que cuando diseñamos un informe en SSRS 2008 partimos de un dataset. El caso es que en este caso he de decir que la respuesta que di es cierta a medias puesto que si existe una forma de generar informes a partir de un EDM de EF o un modelo de LINQ To SQL o incluso llamando a un servicio de ADO.NET Data Services…la respuesta está en el control Report Viewer que tenemos en Visual Studio y que admite tanto informes locales como de servidor. Pero vamos al grano:

  • Lo primero es lógicamente crear un EDM de EF utilizando para ello el asistente que tenemos en Visual Studio 2008 SP1.
image image image
  • Una vez creado el EDM, compilamos el proyecto.
  • Añadimos un elemento al proyecto de tipo Reporting –> Report al proyecto…y es aquí dónde está la clave: puedo diseñar informes en modo local para ser consumidos por el control report viewer.
image image image
  • Se abre la superficie de diseño de SSRS (cuidado, que no es la de SSRS 2008 :-( , es nuestro viejo SSRS 2005…lo que no deja de ser curioso, pues estoy trabajando con un proyecto de .NET Framework 3.5 y tengo instalada toda la infraestructura de SSRS 2008). A través de la ventana Data Sources podemos especificar la fuente de datos para el informe haciendo clic sobre Add New Data Source…
  • En la ventana que sea abre elegimos una fuente de tipo Object…Ajá, aquí lo tenemos, en el momento en el que yo puedo especificar una fuente de datos tipo Object, ya hablo la posibilidad de crear informes a partir de mi EDM, de un modelo de LINQ To SQL o incluso a partir de un servicio de ADO.NET Data Services.
  • Esto nos permite elegir que objetos de negocio del proyecto actual queremos utilizar para crear el informe. Elegimos nuestro modelo de EF.
image image image
  • De esta forma, ya tenemos las entidades de nuestro modelo de EF listas para empezar a construir nuestro informe.
  • Añadimos una región de datos de SSRS a la superficie de diseño (en mi caso una tabla).
  • No tenemos más que arrastrar campos de las entidades de negocio a las zonas de datos del informe. En mi caso, he añadido dos campos de una de las entidades por simplicidad.
  • Guardamos el informe y añadimos un control de tipo Report Viewer a nuestro formulario Windows Form o Web.
image image image

  • Lo siguiente que tenemos que hacer es configurar el control Report Viewer vía código para que por una parte utilice el informe que hemos diseñado y por otra vincule de forma adecuada las entidades del modelo de EF con dicho informe.

            AdventureWorksEntities ctx =

                new AdventureWorksEntities();

            var dataSource = ctx.Product; 

            this.reportViewer1.ProcessingMode=

                Microsoft.Reporting.WinForms.ProcessingMode.Local;

            this.reportViewer1.LocalReport.ReportPath=

                System.Environment.CurrentDirectory +

                 @"\Product.rdlc";

            this.reportViewer1.LocalReport.DataSources.Clear();

            this.reportViewer1.LocalReport.DataSources.Add(

                new Microsoft.Reporting.WinForms.ReportDataSource(

                    "SSRS_LINQ_Product", dataSource));

            this.reportViewer1.RefreshReport();

  • Fijaros que para poder utilizar entidades del modelo de EF, lo único que hago es crear una instancia del objeto contexto de datos. Definir mi fuente de datos en base a una de las entidades del modelo, y a continuación configurar de forma adecuada el control reportviewer:
    • Fijamos el modo de procesamiento a local.
    • Especificamos el informe que vamos a visualizar en el control (el que hemos diseñado anteriormente).
    • Añadimos la fuente de datos al report viewer y lo reflescamos.
  • Tras compilar la aplicación, no tenemos más que probar que funciona…cool!!
  image  

Y hasta aquí llega este post…lo bien que se queda uno cuando encuentra la respuesta que contradice la afirmación realizada inicialmente. Espero que el post os haya resultado de utilidad.

Mayo 14, 2009

SQL Server 2008: Tips, Tricks & How-To en SSRS 2008 (II)!

Archivado en: SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 2:20 pm

Aprovechando que sigo batallando con SQL Server Reporting Services 2008 (SSRS 2008), y que sigue dando quebraderos de cabeza además de dolores, después de la primera entrega os presento un nuevo capítulo de tips, tricks y how-to para que no os tengáis que partir la cabeza.

Como habilitar drilldown en informes

  • Seleccionamos la fila que queremos mostrar o no en función de la acción realizada por el usuario. Hacemos clic con el botón derecho del ratón y seleccionamos la opción Row Visibility.
  • En la ventana que se abre, simplemente tenemos que configurar como mostrar esa fila:
    • Marcamos la opción Show para que por defecto se muestre la fila en la que estamos habilitando el drilldown..
    • Marcamos el check Display can be toggled by this report item.
    • Elegimos que elemento del informe controla la visibilidad de esta fila.
  • Probamos que el informe funciona como se espera.
image image image
  image  

Como añadir un sub-informe a un informe en SSRS 2008

  • Añadimos una nueva fila debajo de la fila de nuestro informe en la que queramos que aparezca el sub-informe.
  • En una de las celdas de la nueva fila añadimos un elemento de tipo subreport desde la toolbox de BI Management Studio.
  • Hacemos clic con el botón derecho del ratón para configurar sus propiedades:
    • A través de la sección General, especificamos el informe que se va a mostrar en formato sub-informe.
  • Seleccionamos la fila del informe que contiene el sub-informe. Hacemos clic con el botón derecho del ratón y seleccionamos Row Visibility.
image image image
  • En la ventana que se abre, simplemente tenemos que configurar como mostrar esa fila:
    • Marcamos la opción Hide para que por defecto no se muestre la fila que contiene el subinforme.
    • Marcamos el check Display can be toggled by this report item.
    • Elegimos que elemento del informe controla la visibilidad de esta fila.
  • Probamos que el informe funciona como se espera.
image image image

Como añadir nuevas columnas a un data model desde Report Builder 2.0

  • Añadir nuevas columnas a la fuente de datos para utilizarlos a través del botón Query Designer de la ventana de propiedades del dataset.
  • De este modo se abrirá el diseñador para elegir nuevas columnas o añadir.
  • Por ejemplo, si elegimos añadir un nuevo campo se abrirá una nueva ventana en la que podremos definir nuevos campos a partir de campos existentes del Report Model.
image image image

  • Si añadimos un campo que se llame Count Cities, tendría la forma:

image

Y hasta aquí llega el segundo capítulo sobre tips, tricks y how-to de SSRS 2008. Espero que el post os haya resultado interesante.

Abril 22, 2009

SQL Server 2008: Como lanzar Report Builder 2.0 desde SharePoint!

Archivado en: MOSS, SQL Server 2008, SQL Server Reporting Services, SharePoint — Juan Carlos González Martín @ 7:23 pm

Como os comentaba en este post, con el SP1 de SQL Server 2008 se sigue lanzando el Report Builder 1.0 desde el Repor Manager por lo que tendremos que realizar nosotros la configuración manual necesaria para que se lance el Report Builder 2.0 (os remito al post mencionado). ¿Y qué pasa en una instalación de SharePoint (WSS 3.0 & MOSS) en la que tengamos configurada la integración con SQL Server Reporting Services 2008 (SSRS 2008). Pues lo mismo, con el añadido de que tendremos que instalar el Microsoft SQL Server 2008 Reporting Services Add-in for Microsoft SharePoint Technologies. Empecemos.

Instalación del SP1 de SQL Server 2008 y el Report Builder 2.0 en un entorno con SharePoint

Como os comentaba, los pasos de instalación son los mismos que en un entorno en el que no tengamos SharePoint:

  • Instalamos el SP1 de SQL Server 2008.
  • Instalamos el Report Builder 2.0 SP1.

Instalación del Add-In de SSRS 2008 para SharePoint

Una vez que hemos instalado el SP1 de SQL Server 2008 y el Report Builder 2.0, ya estamos listos para instalar el Add-In de SSRS 2008 para SharePoint:

  • La primera pantalla nos informa de que ya existe una versión del Add-In, por lo que tendremos que confirmar que vamos a realizar la consiguiente actualización.
  • En la siguiente pantalla, simplemente pulsamos Next.
  • Tras confirmar el correspondiente acuerdo de licencia, pulsamos Next.
image image image
  • En la siguiente pantalla especificamos un nombre para la instalación (el nuestro propio) y el nombre de nuestra organización y pulsamos Next.
  • En la siguiente pantalla, pulsamos Install y ya estamos listos para que se lleve a cabo el proceso de instalación.

image image image

  • Una vez que ha concluido el proceso de instalación, simplemente pulsamos Finish.
  image  

En el caso de una instalación de SSRS 2008 integrado con SharePoint, pasa lo mismo que veíamos en una instalación normal de SSRS 2008: desde Report Manager se lanza Report Builder 1.0 y no Report Builder 2.0. Como sucedía con el Report Manager, esto se puede solucionar realizando unos pasos adicionales en este caso:

image image image
  • En la siguiente pantalla pulsamos Install y a esperar unos pocos minutos para que se realice el proceso de instalación.
  • Una vez acabado el proceso, pulsamos Finish.
image image image

Ahora bien, al igual que ocurría con Report Manager, una vez realizadas todas estas instalaciones, tendremos que configurar de forma manual el lanzamiento de Report Builder 2.0 desde SharePoint:

  • Nos vamos a la administración central de SharePoint. En la pestaña Application Management, pulsamos Set Server defaults en la sección de Reporting Services.
  • Como ocurría en la configuración del Report Manager, tendremos una sección en la que especificar la url de lanzamiento del Report Builder que en este caso tiene la forma: 

/_vti_bin/ReportBuilder/ReportBuilder_2_0_0_0.application

  • Una vez configurado, nos vamos a una biblioteca que tengamos configurada con un content type de tipo Report Builder Report. 
image image image

  • Veremos que se lanza la aplicación ClickOnce de Report Builder y que tras pulsar Run, comienza el proceso de descarga.
  • Finalmente, aparece Report Builder 2.0 en nuestras pantallas.
image image image

Y hasta aquí llega este nuevo post sobre SSRS 2008 y SharePoint. Espero que os haya parecido interesante.

Abril 21, 2009

SQL Server 2008: Como lanzar Report Builder 2.0 desde el Report Manager!

Archivado en: SQL Server 2008, SQL Server Reporting Services — Juan Carlos González Martín @ 10:34 am

En el último post sobre SQL Server 2008, os hablaba sobre la instalación del SP1 tanto de SQL Server 2008 como de Report Builder 2.0. Sin embargo, hay algo que la instalación de este SP1 no soluciona: lanzar el Report Builder 2.0 desde el Report Manager (como sabéis, esta es la aplicación web desde la que podemos gestionar los elementos de SQL Server Reporting Services que tenemos en el servidor: informes, modelos de datos, fuentes de datos, etc). Pero veamos que efectivamente esto es así:

  • Lanzamos el navegador y especificamos la url del Report Manager (normalmente algo así como /ReportServer">/ReportServer">/ReportServer">http://<ServerName>/ReportServer.
  • Desde la página principal del Report Manager podemos crear informe con Report Builder a través del botón Generador de informes.
  • Si lo pulsamos, veremos para nuestra sorpresa que a pesar de que estamos en una máquina con el SP1 de SQL Server 2008 recién instalado, se lanza Report Builder 1.0 en lugar del esperado 2.0.
  • ¿Hay solución para esto? Pues sí, y es la misma que ya teníamos antes del SP1 de SQL Server 2008. Si abrimos una ventana del navegador y especificamos la siguiente url:

http://<servername>/ReportServer/ReportBuilder/ReportBuilder_2_0_0_0.application

image image image

  • Veremos que se lanza vía ClickOnce la aplicación de Report Builder.
  • Pulsamos Run una vez que termina el proceso de verificación de requisitos y esperamos a que se descargue la aplicación (como sabéis, esto sólo ocurre la primera vez que se lanza la aplicación).
image image image

  • Una vez que acaba el proceso de descarga, veremos que se abre el deseado Report Builder 2.0.
  • Por lo tanto, si pudiéramos especificar el parámetro anterior en algún sitio de la configuración de Report Server, solucionamos el pequeño inconveniente de que se lance Report Builder 1.0 en lugar de Report Builder 2.0…y la papeleta la solucionamos a través de las opciones de configuración del propio sitio de Report Manager…como podéis comprobar, en la pantalla de configuración tenemos un espacio en el que podemos especificar la url del Report Builder 2.0. Especificamos la url anterior y listo, ahora si se lanzará Report Builder 2.0 desde el report manager.
image image

Espero que este tip os sirva de utilidad.

Entradas siguientes »

Blog de WordPress.com.