
Una Suscripción Dirigida por Datos (Data Driven Subscription) en SSRS (SQL Server Reporting Services) es una forma avanzada de automatizar la distribución de informes. En lugar de usar una configuración fija, la información para generar y entregar el informe se obtiene de una base de datos mediante un procedimiento almacenado.
En esencia, el procedimiento almacenado actúa como un "motor" que alimenta la suscripción con los datos necesarios. Estos datos pueden incluir direcciones de correo electrónico, parámetros del informe, formatos de entrega y mucho más. Esto permite personalizar cada instancia del informe y su entrega.
¿Cómo funciona? Paso a paso:
Must Read
- Creación del Procedimiento Almacenado: Este es el paso clave. El procedimiento debe devolver un conjunto de resultados (un rowset) con las columnas necesarias para la suscripción. Por ejemplo, una columna para el correo electrónico del destinatario, otra para el parámetro 'Region' del informe, y otra para el formato (PDF, Excel, etc.).
- Creación del Informe: El informe debe estar diseñado para aceptar parámetros. Estos parámetros serán los que se completen con los datos provenientes del procedimiento almacenado.
- Creación de la Suscripción Dirigida por Datos: En SSRS, al crear una nueva suscripción, se elige la opción "Data-driven subscription". Luego, se configura la conexión a la base de datos y se especifica el procedimiento almacenado creado en el paso 1.
- Mapeo de Campos: Se mapean las columnas devueltas por el procedimiento almacenado a los campos correspondientes en la suscripción. Por ejemplo, se indica que la columna 'Email' del rowset se usará para la dirección de correo electrónico del destinatario. Igualmente, se mapea la columna 'Region' al parámetro 'Region' del informe.
- Configuración de la Entrega: Se define cómo se enviarán los informes (por correo electrónico, a una carpeta compartida, etc.).
- Programación: Se programa la suscripción para que se ejecute a intervalos regulares. En cada ejecución, el procedimiento almacenado se ejecuta y genera un informe personalizado para cada fila del rowset resultante, enviándolo al destinatario correcto con los parámetros y formato adecuados.
Ejemplo simple:
CREATE PROCEDURE dbo.GetSubscriptionData
AS
BEGIN
SELECT Email, Region, Format FROM SubscriptionData;
END

Beneficios:
- Personalización masiva: Informes personalizados para cada destinatario sin intervención manual.
- Automatización completa: Distribución automática basada en datos.
- Flexibilidad: El procedimiento almacenado puede incluir lógica compleja para determinar los destinatarios, los parámetros del informe y el formato de entrega.
Las Suscripciones Dirigidas por Datos son una herramienta poderosa en SSRS para la distribución de informes altamente personalizados y automatizados.