我有一个包含以下列的birt数据集,按“时间”排序:
devicename String
operatorname String
time Date Time
action String
info String
'action'可以有四个可能的值之一:
MAINTENANCE_START
DEVICE_DEFECT
DEVICE_REPAIRED
MAINTENANCE_STOP
我想使用这些数据在报告中生成一个表。我应该为数据集的每一行都有一个表条目,其中action的值为'MAINTENANCE_STOP'。我的表应该有以下条目:
Time
Operator
Status
Duration
Maintenance_Info
'Maintenance_Info' - 应该是最后一个'MAINTENANCE_START'和当前'MAINTENANCE_STOP'之间所有'info'字符串的串联。
这最初是在用于Web应用程序的java bean中完成的。在java中,它并不那么难,但是,在BIRT中,我不确定它是否可能。你能就我如何做这样的事情给我任何建议吗?
答案 0 :(得分:1)
如果您已经使用Java完成了它,则可以使用脚本数据源在BIRT内部利用它。脚本数据源依赖于Java对象来构建对象数组,每个对象将代表数据集上的“行”。在运行时,BIRT引擎触发java对象以构建数组,当竞争时,数组将被读入报表中的数据集,并且您已关闭并运行。
有关脚本数据源的更多信息,请访问:Scripted Data Source Examples