Jasper 报告 - 获取重复记录

Jasper report - getting duplicate records

我们正在探索 Jasper 报告以取代我们当前的报告引擎。我们的数据源将是 REST API,我们将需要连接多个 table。我遇到了用于 REST 的 CData JDBC driver,它似乎很适合这个目的。

我使用 CData driver 创建了一个 JDBC 数据适配器,其中 JSON 文件作为源,其中包含 2 个实体的数据 - 用户和帖子。 然后我用这个数据适配器创建了一个报告来显示 table 中的字段。数据是对两个实体进行联合查询的结果,如下所示 -

SELECT users.name,users.username,users.email,users.website,posts.title FROM users join posts on users._id = posts.userId

下面是数据适配器配置-

CDataDataAdapter.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>

获取数据并在报告中呈现,但问题是它会重复。

table 在报告中重复了 5 次,4 次有完整数据,1 次只有列 headers。我不明白为什么,非常感谢任何帮助。

我在这里得到了答案 - https://community.jaspersoft.com/questions/904196/same-detail-shown-multiple-times-page-and-multiple-pagesireports-well-jaspersoft

我在“详细信息”区域而不是“摘要”区域中添加了 table 组件。引用上面的答案- “你把 table 和图表元素放在报告中的什么地方?它们应该放在摘要部分,而不是详细信息部分。JR 报告详细信息带会为提取到报告中的每一行调用。如果你有 100 行,它将在详细信息带中显示 100 次信息,每个信息包含该行的详细信息。表格和图表收集并汇总所有要显示的数据,应该放在摘要带中,因此它们只显示一次。"