Pregunta

Estoy creando un informe 'maestro' en SSRS 2008 que colabora con otros informes sobre una persona. A veces, no todos los otros informes son relevantes y, como tales, no devuelven nada. Me gustaría poder excluir esto del informe maestro para que no deje una página en blanco.

Soy consciente de la función 'mensaje sin filas', pero una página completa con simplemente "No aplicable para esta persona" ¡No es la mejor solución!

Básicamente, estoy buscando una manera de determinar si un subinforme está 'vacío' y usarlo en una expresión de visibilidad.

Cualquier ayuda es muy apreciada

¿Fue útil?

Solución

Bien, así que ya lo tengo claro. La respuesta es colocar el subinforme en un rectángulo. Luego establezca la visibilidad del rectángulo en algo como esto:

=IIF(First(Fields![SOMEFEILD].Value, "[SOMEDATASET]") IS NOTHING, TRUE, FALSE)

Donde [SOMEDATASET] es un conjunto de datos poblado de la misma manera que el poblado del subinforme. Luego, si el subinforme está vacío, entonces [SOMEDATASET] también estará vacío, y más al punto, el campo [SOMEFEILD] será igual a NOTHING .

¡Bada-Bing! Un informe que no está abarrotado de páginas vacías que desperdician papel.

Nota: hay un efecto secundario negativo en este enfoque, ya que el servidor SQL enviará la misma información dos veces, una para completar el conjunto de datos del subinforme y otra vez para completar el conjunto de datos duplicado en el informe. Para mí, esto es aceptable, otros pueden querer saberlo.

Otros consejos

Esta solución funcionó para mí como se esperaba, eliminando el hipervínculo al subrepot. Dentro del menú «Acción» en la sección donde especifica el nombre del subinforme:

=iif(fields!SomfieldName.Value <> Nothing, "YourSubReportName",Nothing)

¡Solución simple y fácil!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top