我正在处理包含汇总值的BIRT报告。我需要将聚合值显示为0($ 0.00),即使我在求和的值没有在查询的结果集中返回(没有与聚合定义中指定的Filter匹配)。
之前已经问过这个问题:
但答案并没有帮助我,因为没有具体的例子说明如何设定上述答案中给出的初始值。
我尝试在表的onCreate()脚本中放置一些代码(我在设计器中激活表并将代码放在onCreate脚本中)。我尝试了以下方法:
if(row["FirstYearPxTaxOrdAgg"] == null){
row["FirstYearPxTaxOrdAgg"] = 0;
}
我错过了什么?我应该能够初始化Aggregate值并将该值输出到我的报告中,即使Filter Expression与任何返回的数据都不匹配。
感谢您的帮助!
答案 0 :(得分:1)
我发现这是一个潜在的解决方案。我使用动态文本元素(我通常只使用数据元素)将数据放在我的报表中:
if(row["FirstYearPxTaxOrdAgg"]==null){
"$0.00"
}
else{
"$"+row["FirstYearPxTaxOrdAgg"]
}
我认为当Aggregate值为null(未在查询的结果集中返回)时,这将正常工作,但我担心当返回值IS时,我将无法正确地将值格式化为货币。我之所以这么说,是因为我看到了#格式编号'选项不适用于动态文本元素(我可以指定使用数据元素格式化为货币)。
我希望找到一种方法来初始化Aggregate值,然后将其作为数据元素放在我的BIRT报告中。