BIRT转置结果表

时间:2017-08-03 08:51:55

标签: javascript mysql birt transpose

我使用具有相当复杂查询的BIRT报告来从多个表中获取不同的指标。 这些度量标准是针对设置为参数且具有不同周期性的两个日期之间的数据完成的。 所以我不知道输出中会有多少行。

最后我得到这样的表格:

           Metric A | Metric B | Metric C
2017/01       1          0         4
2017/02       0          3         4
2017/03       1          2         3

在报表设计中,我需要将其显示为转置(公制名称很长,而且它们太多)。

我如何在报告中做到这一点? 我认为在查询中更难以完成(我不知道结果中有多少行 - 它是根据日期和周期动态获取的。)

我到目前为止尝试过:

  • 立方体和交叉 - 但我怎么能这样做,当我不知道我到底有多少列?
  • 脚本 - 我可以动态添加更多列或按原样创建表。但是如何从数据集中获取数据?在这里,我试着做这样的事情:

首先,在数据集onFetch方法中,我在报表变量中添加了一些内容:

reportContext.setPersistentGlobalVariable("metric_1",row["metric_1"].toString());

然后,在beforeFactory的报告中,我尝试访问变量:

mylabel.setText( reportContext.getPersistentGlobalVariable("metric_1") );

但结果是空的。

这是错误的做法吗?你有什么想法?我想在脚本中执行它 - 将报表数据设置为globalVariable,然后在beforeFactory中访问resultSet并为其创建表。

你还有其他想法吗?

P.S。非常不幸的是你不能拥有像detailColumn这样的东西(你确实有detailRow)。

0 个答案:

没有答案