Jasper reports Jasper报告-获取重复记录

Jasper reports Jasper报告-获取重复记录,jasper-reports,Jasper Reports,我们正在探索Jasper reports,以取代当前的报告引擎。我们的数据源将是RESTAPI,我们将需要连接多个表。我在REST中遇到了CData JDBC驱动程序,它似乎适合这个目的 我使用CData驱动程序创建了一个JDBC数据适配器,源代码是一个JSON文件,其中包含两个实体的数据—用户和帖子。 然后,我用这个数据适配器创建了一个报告,以显示表中的字段。该数据是对两个实体进行连接查询的结果,如下所示- 选择用户。名称,用户。用户名,用户。电子邮件,用户。网站,来自用户的posts.tit

我们正在探索Jasper reports,以取代当前的报告引擎。我们的数据源将是RESTAPI,我们将需要连接多个表。我在REST中遇到了CData JDBC驱动程序,它似乎适合这个目的

我使用CData驱动程序创建了一个JDBC数据适配器,源代码是一个JSON文件,其中包含两个实体的数据—用户和帖子。 然后,我用这个数据适配器创建了一个报告,以显示表中的字段。该数据是对两个实体进行连接查询的结果,如下所示-

选择用户。名称,用户。用户名,用户。电子邮件,用户。网站,来自用户的posts.title加入用户的帖子。\u id=posts.userId

下面是数据适配器配置-

CDATA数据适配器.xml

<jdbcDataAdapter class="net.sf.jasperreports.data.jdbc.JdbcDataAdapterImpl">
   <name>CDataDataAdapter</name>
   <driver>cdata.jdbc.rest.RESTDriver</driver>
   <username />
   <password />
   <savePassword>true</savePassword>
   <url>jdbc:rest:Format="JSON";URI="D:/Documents/ToJasper/SampleJoinJson.json";XPath="/posts;/users";DataModel="Relational";JSONFormat="JSON";SSLServerCert="*";Logfile="D:\Documents\Tasks\ToJasper\cdata-driver.log";Verbosity="4";Location="D:\Documents\Tasks\ToJasper\Schema";FlattenObjects="False";GenerateSchemaFiles="OnStart";RowScanDepth="10";</url>
   <database />
   <serverAddress />
   <classpath>I:\Program Files\CData\lib\cdata.jdbc.rest.jar</classpath>
   <classpath>I:\Program Files\CData\lib\rssbus.jar</classpath>
</jdbcDataAdapter>

CDATA数据适配器
cdata.jdbc.rest.RESTDriver
真的
jdbc:rest:Format=“JSON”;URI=“D:/Documents/ToJasper/SampleJoinJson.json”;XPath=“/posts;/users”;DataModel=“Relational”;JSONFormat=“JSON”;SSLServerCert=“*”;Logfile=“D:\Documents\Tasks\ToJasper\cdatadriver.log”;详细程度=“4”;Location=“D:\Documents\Tasks\ToJasper\Schema”;flatteobjects=“False”;GenerateSchemaFiles=“OnStart”;RowScanDepth=“10”;
I:\ProgramFiles\CData\lib\CData.jdbc.rest.jar
I:\Program Files\CData\lib\rssbus.jar
数据是在报表中呈现时提取的,但问题是数据会重复

该表在报告中重复5次,使用完整数据重复4次,仅使用列标题重复一次。我不明白为什么,非常感谢您的帮助。

我在这里得到了答案-

我将表格组件添加到“详细信息”栏中,而不是“摘要”栏中。引用上面的答案- “您将表格和图表元素放在报表中的何处?它们应该放在摘要部分,而不是详细信息部分。对于提取到报表中的每一行,都会调用JR报表详细信息栏。如果您有100行,它将在详细信息栏中显示信息100次,每次显示该行的详细信息。表格和图表收集并整理您的所有数据。”显示并应放在摘要栏中,因此只能显示一次。”