BIRT聚合初始值 - 如何设置?

时间:2017-03-21 15:41:10

标签: birt

我正在处理包含汇总值的BIRT报告。我需要将聚合值显示为0($ 0.00),即使我在求和的值没有在查询的结果集中返回(没有与聚合定义中指定的Filter匹配)。

之前已经问过这个问题:

http://developer.actuate.com/community/forum/index.php?/topic/15868-how-to-set-a-default-value-to-aggregation-report-item/

但答案并没有帮助我,因为没有具体的例子说明如何设定上述答案中给出的初始值。

我尝试在表的onCreate()脚本中放置一些代码(我在设计器中激活表并将代码放在onCreate脚本中)。我尝试了以下方法:

if(row["FirstYearPxTaxOrdAgg"] == null){
    row["FirstYearPxTaxOrdAgg"] = 0;
}

我错过了什么?我应该能够初始化Aggregate值并将该值输出到我的报告中,即使Filter Expression与任何返回的数据都不匹配。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我发现这是一个潜在的解决方案。我使用动态文本元素(我通常只使用数据元素)将数据放在我的报表中:

if(row["FirstYearPxTaxOrdAgg"]==null){
    "$0.00"
} 
else{
    "$"+row["FirstYearPxTaxOrdAgg"]
}

我认为当Aggregate值为null(未在查询的结果集中返回)时,这将正常工作,但我担心当返回值IS时,我将无法正确地将值格式化为货币。我之所以这么说,是因为我看到了#格式编号'选项不适用于动态文本元素(我可以指定使用数据元素格式化为货币)。

我希望找到一种方法来初始化Aggregate值,然后将其作为数据元素放在我的BIRT报告中。