我在BIRT报道中遇到了问题。我创建的一份报告坚持将某些字段显示为空白而不是零。当字段实际上是一个不返回任何行的子选择时,就会出现这种情况。
因此,例如,如果选择包括:
0 as p3,然后显示0就可以了。但是,如果选择具有:
(select sum(other_field) from other_table where ...) as p3,字段显示为空白。
修改数据,使子选择的行存在,结果将显示一个值,即使其结果值为零。
因此,我认为BIRT在某种程度上将子选择返回零行作为NULL (它也显示为空单元格)而不是零。有人知道如何强迫BIRT显示实际的0而不是空的单元格吗?
如果有人需要发布特定于DBMS的答案,我将使用DB2/z v8,但即使是基于其他供应商的建议也会受到欢迎。
发布于 2013-07-11 10:51:21
另一种方法,虽然不那么优雅,但有时是必要的(例如,如果您正在执行一个无法更改的存储过程),可以使用JavaScript在运行时强制显示"0“。
在数据绑定中使用以下表达式:
if (dataSetRow["your_data_set"] == null)
{
0
}
else
{
dataSetRow["your_data_set"]
}根据数据类型的不同,您可能需要向零添加引号。
"0"要表示字符串,如果没有引号,它将被视为整数。
发布于 2020-11-19 20:52:31
在使用十进制数据时,我能够对字段进行快速+0操作,作为一个缩短的版本。
dataSetRow["your_data_set"]+0https://stackoverflow.com/questions/2369678
复制相似问题