Jasper reports 当字段每个uniqe有两个值时,报告每个唯一id返回多个值

Jasper reports 当字段每个uniqe有两个值时,报告每个唯一id返回多个值,jasper-reports,Jasper Reports,我在Jaspersoft iReport中有一个报告,当一个唯一id在另一个字段中有多个值时,该报告将返回多行 示例输出 期望输出 相关XML 字段名 文本元素 算出了。。。。供将来使用 将所有内容添加到ID组标题1中,然后将值保留在细节1中,并给出所需的结果 输出 请解释你的数据结构。乍一看,您的唯一id在您的数据集中似乎不是唯一的。id意味着每行仅显示一次,如果值列中有多个值,我希望将它们连接成一个由逗号分隔的值,请尝试使用子数据源,但是,唯一返回ID的主查询和返回各自ID.JasperRe

我在Jaspersoft iReport中有一个报告,当一个唯一id在另一个字段中有多个值时,该报告将返回多行

示例输出

期望输出

相关XML

字段名

文本元素


算出了。。。。供将来使用

将所有内容添加到ID组标题1中,然后将值保留在细节1中,并给出所需的结果

输出


请解释你的数据结构。乍一看,您的唯一id在您的数据集中似乎不是唯一的。id意味着每行仅显示一次,如果值列中有多个值,我希望将它们连接成一个由逗号分隔的值,请尝试使用子数据源,但是,唯一返回ID的主查询和返回各自ID.JasperReports值的子查询不是我的专长。因此,如果有一个更简洁的解决方案,我也不会感到惊讶。如果在值字段中加入某种逻辑,比如说当值计数>=2时,那么concat结果是否可能?除非您提供有关数据SQL查询类型的更多详细信息?XML?豆?还有别的吗?你的报告,你的jrxml的相关部分,你列表中的查询和报告元素,你很难给出一个详细的答案。正如我所说的,将id拖到标题中,将值拖到detailRight中,您能看到最终的相关XML吗?我有这样一个问题,看到最后的代码真的很有帮助。我没有更改XML,它都是在ireports的前端完成的
ID  Value
1   A
2   B
3   A
3   B
ID  Value
1   A
2   B
3   A, B
<field name="ID" class="java.lang.String"/>
<field name="Value" class="java.lang.String"/>
<textElement verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{ID}]]></textFieldExpression>
</textField>

<textElement verticalAlignment="Middle"/>       
<textFieldExpression><![CDATA[$F{Value}]]></textFieldExpression>
</textField>
ID  Value
1   A
2   B
3   A, B