usuarios services reportes permisos dar crear sql reporting-services reporting report

reportes - SQL Server Reporting Services 2005-Cómo manejar informes vacíos



crear reportes en sql server 2014 (4)

Creo que la respuesta es no, al menos no de la caja. No debería ser difícil escribir su propia extensión de entrega dada la muestra de extensión de entrega de impresión incluida en RS.

Me preguntaba si es posible no adjuntar una hoja de Excel si está vacía, y tal vez escribir un comentario diferente en el correo electrónico si está vacío.

Cuando voy a informar las opciones de entrega, no hay tal configuración.

Editar : estoy ejecutando SQL Server Reporting Services 2005.

Algunas soluciones posibles como se menciona a continuación:

MSDN: Extensiones de Reporting Services

Propiedades NoRows y NoRowsMessage

Debería investigar estas cosas.


Sí, no creo que eso sea posible. Puede usar la propiedad "NoRows" de su tabla para mostrar un mensaje cuando no se devuelven datos, pero eso no evitará que se adjunte el informe. Pero al menos cuando abrieron el archivo Excel, podría imprimir su mensaje personalizado en lugar de un documento vacío.


Tuve éxito con el uso de una suscripción basada en datos y una tabla que contiene mis suscriptores, con la consulta de suscripción basada en datos con el siguiente aspecto:

SELECT * FROM REPORT_SUBSCRIBERS WHERE EXISTS (SELECT QUERY_FROM_YOUR_REPORT)

En la configuración de entrega, el destinatario es la columna de datos que contiene mis direcciones de correo electrónico.
Si la consulta interna no devuelve filas, no se enviarán correos electrónicos.

Para sus propósitos, puede aprovechar la configuración de entrega "Incluir informe" y "Comentario".
Imagino que una consulta de suscripción basada en datos como esta funcionará para usted:

SELECT ''[email protected]; [email protected]'' AS RECIPIENTS, CASE WHEN EXISTS (REPORT_QUERY) THEN ''TRUE'' ELSE ''FALSE'' END AS INCLUDE_REPORT, CASE WHEN EXISTS (REPORT_QUERY) THEN ''The report is attached'' ELSE ''There was no data in this report'' END AS COMMENT

Luego use esas columnas en los campos apropiados al configurar las configuraciones de entrega para la suscripción.


Encontré esto en otro lugar ...

Tengo una solución limpia para este problema, el único inconveniente es que un administrador del sistema debe crear y mantener el cronograma. Pruebe estos pasos:

  1. Cree una suscripción para el informe con todos los destinatarios requeridos.

  2. Configure la suscripción para que se ejecute semanalmente el día de ayer (es decir, si hoy es martes, seleccione Lunes) con el calendario que comienza en la fecha de hoy y se detiene en la fecha de hoy. Esencialmente, este cronograma nunca se ejecutará.

  3. Abra el trabajo recién creado en SQL Management Studio, vaya a los pasos y copie la línea de SQL (se verá más o menos así: EXEC ReportServer.dbo.AddEvent @ EventType = ''TimedSubscription'', @ EventData = ''1c2d9808-aa22-4597 -6191-f152d7503fff '')

  4. Cree su propio trabajo en SQL con el horario real y use algo como:

SI EXISTE (SELECCIONE sus criterios de prueba ...)

EMPEZAR

EXEC ReportServer.dbo.AddEvent @EventType = ... etc.

FIN