如何在BIRT中为空单元格指定默认字符串值

How do I give a default string value to a null cell in BIRT?

本文关键字:默认 字符串 单元格 BIRT      更新时间:2023-09-26

我是BIRT和javascript的新手。我做了一份报告,其中空值用空格表示。我想用默认字符串替换这些空格,例如用"--"。这就是我当前报告的显示方式:

 Date         Temperature    Pressure    Weight    Colour
20130717       102                                  red
20130716                                   100      blue
20130715                        20         150

空格对应于数据库中列的空值。现在,我想要以以下方式显示的报告:

 Date         Temperature    Pressure    Weight    Colour
20130717         102             --         --      red
20130716         --              --        100      blue
20130715         --              20        150       --

即,将具有空值的单元格替换为默认字符串"--"。如何在BIRT中使用javascript或任何其他方法实现这一点?此外,所有数据集的类型都是varchar

最简单的方法是在数据集的查询中使用COALESCE,如下所示:

SELECT ...
       COALESCE(Temperature, '--') as Temperature
       ...

然而,如果您想在BIRT本身中进行,一种方法是:

  • 在每个详细信息行单元格中添加一个包含--的标签项
  • 在属性编辑器中,将每个数据项的可见性设置为在以下条件下隐藏:row["temperature"]<=''(使用适当的列名)
  • 在属性编辑器中,将每个--标签项的可见性设置为在以下条件下隐藏:row["temperature"]>''(使用适当的列名)

您没有说明数据源是什么,但如果它是SQL数据库,请使用其中一个SQL函数来转换SQL查询中的Null。

ISNULL() 
NVL(),
IFNULL(),  
COALESCE()