如何在BIRT中为空单元格提供默认字符串值?

时间:2013-07-25 11:02:16

标签: javascript string replace birt

我是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       --

即,具有空值的单元格将替换为默认字符串“ - ”。 如何使用javascript或任何其他方法在BIRT中执行此操作? 此外,所有数据集都属于varchar类型。

2 个答案:

答案 0 :(得分:3)

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

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

但是,如果你想在BIRT本身做,一种方法是:

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

答案 1 :(得分:2)

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

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