我在数据库中有以下形式的故障数据:
faultid | faultcode | startdatetime | enddatetime
尽管每隔几秒钟轮询一次设备,但数据库中的条目仅在设备状态更改时更新,因此我可能会遇到持续数分钟、数小时甚至数天的故障。
我想将故障时间绘制为分钟与时间间隔,例如 30 分钟、1 小时、1 天间隔;这样一个持续几个间隔的故障将随着时间的推移在图表中以宽度方式增长,而不仅仅是在 startdatetime 处成为一个巨大的奇异条。如果可能的话,我想以独立于平台的方式做到这一点。
图表报告根据 Java 应用程序的需要运行和查看。
我尝试在谷歌上搜索类似的问题/解决方案,但要么我在谷歌上搜索错误的东西,要么没有多少人做这种事情,或者更明显地做了一些我没有得到的方式——我做错了吗?
尝试的事情:
我使用 BIRT 进行报告,除非我深入了解 BIRT 脚本,否则仅它似乎无法将数据按摩成我需要的图表所需的形式——但是到目前为止的文档和资源还不够让我什至接近做到这一点 - 有什么想法吗?
我考虑过使用 BIRT 的连接 afterOpen 脚本首先执行自定义 SQL 操作,但由于缺乏可用的文档和资源,这里似乎无法做到。
在一个实例中,我使用 SQL Server 存储过程来生成填充数据,创建间隔数据,其中 enddatetime - startdatetime > 间隔。每次调用报告时都会调用此过程。这很好用,但我需要为我使用的每个不同的数据库/报告维护一个存储过程,并且觉得必须有更好的方法。
我们使用 Pentaho Kettle 进行数据归档,我尝试使用它来执行数据填充,但是让 Kettle 生成这样的数据似乎是不可能的——有什么想法吗?
我考虑过从 Java 应用程序生成填充数据,但这意味着应用程序需要对报表了解太多才能运行它——我想要更好的抽象,以便 UI 开发人员和报表设计人员完全分离.
谢谢。