【发布时间】:2011-03-01 08:43:13
【问题描述】:
我有一个包含以下列的 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
-
“时间”的值应取自当前“维护停止”之前最后一个“维护启动”的“时间”列
-
'Operator'应该是执行'MAINTENANCE_START'的操作员
-
'Status' - 如果在最后一个'MAINTENANCE_START' 和当前'MAINTENANCE_STOP' 之间有一个'DEVICE_DEFECT' 或'DEVICE_REPAIRED' 事件,这应该有值'设备不可用'否则它应该是'设备可用'。
-
“持续时间” - 应该是“MAINTENANCE_STOP”和最后一个“MAINTENANCE_START”之间的差异(间隔)
-
'Maintenance_Info' - 应该是最后一个 'MAINTENANCE_START' 和当前 'MAINTENANCE_STOP' 之间的所有 'info' 字符串的串联。
这最初是在一个用于 Web 应用程序的 Java bean 中完成的。在 java 中它并不难做到,但是,在 BIRT 中我不确定它是否可能。你能给我一些关于如何做这样的事情的建议吗?
【问题讨论】: