动态柱的Birt报告

时间:2015-03-16 14:50:10

标签: java birt

我想创建一个Birt表报告,其中包含来自xml数据源的动态列数。我怎么能去做呢?

在搜索时我已经读过可以使用脚本化数据源完成但我找不到如何使用脚本化数据源和xml数据源的示例或文档。

我也试过了交叉表,如果有一些表单聚合(它不能用于字符串),它似乎才有效。

以下是xml示例:

    <table>
    <row>
       <name></name>
       <question_1>answer<question_1>
       <question_2>answer<question_2>
    </row>
<!-- or it can be like this. I can control how the xml is generated-->
    <row>
       <name></name>
       <question>answer<question>
       <question>answer<question>
    </row>
    </table>

对于不同的xml,问题的数量是不同的,但对于一个xml中的行,它们是相同的。我希望数据以表格形式显示,如此

name | question_1 | question_2

2 个答案:

答案 0 :(得分:1)

正如你在问题中提到的那样,我认为最简单的方法是使用交叉表。实际上,datacubes使用数值度量,但我们可以通过创建一个虚拟度量来解决它,其中“answer”字段作为底层datacube中的表达式。将度量的类型设置为“String”,将聚合函数设置为“FIRST”,然后交叉表应显示单元格中每个问题的答案

答案 1 :(得分:0)

您可以执行以下操作:

  • 在报告中添加列表
  • 在列表标题中添加一个1列的网格和一些行
  • 在此网格的每一行中添加行的标题
  • 在此网格中,将宽度设置为文本的大小
  • 在列表详细信息中添加另一个包含1列和所需行数的网格
  • 在第二个网格中,将所需的数据集拖到每个单元格中
  • 设置第二个Grid的General&gt;将属性显示为内联(而不是阻止)
  • 在第二个网格中,将宽度设置为文本的大小
相关问题