Jasper reports Jasper报告-获取重复记录
我们正在探索Jasper reports,以取代当前的报告引擎。我们的数据源将是RESTAPI,我们将需要连接多个表。我在REST中遇到了CData JDBC驱动程序,它似乎适合这个目的 我使用CData驱动程序创建了一个JDBC数据适配器,源代码是一个JSON文件,其中包含两个实体的数据—用户和帖子。 然后,我用这个数据适配器创建了一个报告,以显示表中的字段。该数据是对两个实体进行连接查询的结果,如下所示-Jasper reports Jasper报告-获取重复记录,jasper-reports,Jasper Reports,我们正在探索Jasper reports,以取代当前的报告引擎。我们的数据源将是RESTAPI,我们将需要连接多个表。我在REST中遇到了CData JDBC驱动程序,它似乎适合这个目的 我使用CData驱动程序创建了一个JDBC数据适配器,源代码是一个JSON文件,其中包含两个实体的数据—用户和帖子。 然后,我用这个数据适配器创建了一个报告,以显示表中的字段。该数据是对两个实体进行连接查询的结果,如下所示- 选择用户。名称,用户。用户名,用户。电子邮件,用户。网站,来自用户的posts.tit
选择用户。名称,用户。用户名,用户。电子邮件,用户。网站,来自用户的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次,每次显示该行的详细信息。表格和图表收集并整理您的所有数据。”显示并应放在摘要栏中,因此只能显示一次。”