SSRS: Suscripciones controladas por datos en modo integrado con Sharepoint Services

SSRS: Suscripciones controladas por datos en modo integrado con Sharepoint Services il_masacratore 23 Febrero, 2012 - 15:50

Suele necesitarse en entornos empresariales la entrega de informes que se generen de forma automática y que se tengan que entregar por correo o ubicarse en directorios compartidos. Reporting Services lo permite por ejemplo en el modo integrado con Sharepoint Services 3.0.Actualmente existen dos tipos de suscripción: la normal y la controlada por datos:

  • Suscripción normal: Por decirlo de alguna manera es una suscripción estática. En esta elegimos el modo y tipo de entrega, formato de presentación y el evento que lanza la suscripción (fecha, periodicidad etc).
  • Suscripción controlada por datos: Es algo más completa que la anterior y permite pasar parámetros al informe en cuestión desde una consulta contra una base de datos y conseguir valores como destinatarios, parámetros de fecha etc de forma dinámica.

Howto:

Nos ponemos en situación. Empresa retail dedicada a la venta al público donde cada agente necesita un reporte diario con el estado de ventas comparados con el año anterior y los objetivos. En este caso lo más normal es que vaya con su blackberry y solo pueda leer correos, eso nos obliga por ejemplo a elegir la entrega por correo del informe con la hoja de datos en formato excel por si quiere hacer sus cálculos...

Empezamos ya con el informe ya diseñado, con sus parámetros nos vamos a Administrar suscripciones y en la nueva página elegimos 'Agregar suscripción controlada por datos'.

 

SSRS Agregar suscripción controlada por datos

Paso 1

Nos aparece un primer formulario donde indicamos descripción y la parte de datos. Primero debemos saber contra que base de datos hacer la consulta para sacar en nuestro ejemplo el listado de comerciales con sus correos y una columna con el valor para cada parámetro. También podemos generar valores en la consulta como el asunto del correo.

También es cierto que en reportes de estado de venta puede no ser necesario sobrescribir valores por defecto como por ejemplo la fecha actual que la podemos poner como Default value en el report. En este ejemplo usamos algo así:

  • Descripción: Report diario entregado por correo.

  • Tipo de conexión: Origen de datos personalizado

  • Tipo de origen de datos: Elegimos Microsoft SQL Server

  • Cadena de conexión: Data source=servidor; Initial catalog=comercial;

  • Consulta: SELECT ds_comercial p_comercial, ds_email p_email, GETDATE() p_hasta_fecha, 'Estado de ventas hasta ' + CONVERT(varchar, GETDATE() ) as p_asunto FROM dbo.Comerciales

Validamos y vamos al siguiente paso.

 

Paso 2:

Cuando hayamos terminado con esta parte saltamos a la parte de parámetros. Aquí debemos elegir entre asignar los valores con un valor estático o el generado por la consulta anterior.

 

Paso 3:

Tipo de entrega. Si elegimos por correo debemos elegir el Para, CC, CCO, Asunto. El resto son cosas como el tipo de presentación (elegimos excel).

  • Tipo de entrega: Correo electronico

  • Para: Elegir del despleglable Seleccionar un valor de la base de datos el valor p_email

  • Incluir informe: True

  • Formato de presentación: Excel

  • Asunto: p_asunto

  • Comentarios: Aqui podemos ponerle un texto al correo.

Paso 4:

Programación. Fecha y hora de la ejecución y entrega. Elegimos enviarlo de forma diaria:

Programación de entrega de informes SSRS

Le damos a finalizar y listos!

 

El proceso en si es bastante simple pero para el usuario es la mar de cómodo que cada mañana pueda ver el estado de sus ventas mientras se toma el café al inicio de su jornada...