Pregunta

Tengo una situación en la presentación de informes BIRT. Un informe creé está insistiendo en la representación de algunas como campos en blanco en vez de cero. La situación se presenta cuando el campo es en realidad un sub-SELECT que devuelve ninguna fila.

Así, por ejemplo, si el SELECT incluye:

0 as p3,

0, entonces el se visualiza bien. Sin embargo, si el selecto tiene:

(select sum(other_field) from other_table where ...) as p3,

El campo está mostrando en blanco.

Modificación de los datos de modo que existen filas de los resultados sub-select en un ser valor mostrado, incluso si su valor resultante es cero .

Así que estoy pensando que de alguna manera BIRT está tratando a un sub-seleccionar devolver cero filas como NULL (la que también se muestra como una celda vacía) en lugar de un cero. ¿Alguien tiene alguna idea de cómo BIRT obligarlo a mostrar un real 0 en lugar de una celda vacía?

Estoy utilizando DB2 / z v8 si las necesidades a cualquiera publicar una respuesta DBMS específico, aunque se agradecería sugerencias incluso sobre la base de otros proveedores.

¿Fue útil?

Solución

Trate de usar la función se unen para forzar un valor cuando una columna o expresión pueden devolver NULL.

COALESCE((select sum(other_field) from other_table where ...), 0) as p3,

Otros consejos

Otra forma, aunque no tan elegante pero a veces es necesario (por ejemplo, si su están ejecutando un procedue almacenado que no puede modificar), sería el uso de JavaScript para obligar a la pantalla de "0" durante la ejecución tiempo.

El uso de la siguiente expresión para sus datos de unión:

if (dataSetRow["your_data_set"] == null)
{
    0
}
else
{
    dataSetRow["your_data_set"]
}

En función del tipo de datos que pueda necesitar para agregar cotizaciones a la cero

"0"

para representar cadenas, sin comillas se trata como un entero.

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