Jasper reports 为什么我的子报表和主报表返回不同的数据?

Jasper reports 为什么我的子报表和主报表返回不同的数据?,jasper-reports,datasource,crosstab,subreport,Jasper Reports,Datasource,Crosstab,Subreport,我在子报表的摘要栏中使用了交叉表来创建动态列/透视表。当我独立运行它时,它工作正常,并且正如预期的那样正确返回数据 然后,当我在另一个报表中引用它作为详细信息栏中的子报表时,它运行正常,没有错误,但缺少一些数据 我对两个报告使用相同的数据源 子报表数据表达式为:$p{Subreport_DIR}+“mySubreportFile.jasper” 连接类型:使用数据源表达式 数据源表达式:$P{REPORT\u DATA\u SOURCE} 有人能给我建议吗?不幸的是,出于安全原因,我无法提供任何

我在子报表的摘要栏中使用了交叉表来创建动态列/透视表。当我独立运行它时,它工作正常,并且正如预期的那样正确返回数据

然后,当我在另一个报表中引用它作为详细信息栏中的子报表时,它运行正常,没有错误,但缺少一些数据

我对两个报告使用相同的数据源

子报表数据表达式为:
$p{Subreport_DIR}+“mySubreportFile.jasper”

连接类型:使用数据源表达式 数据源表达式:
$P{REPORT\u DATA\u SOURCE}


有人能给我建议吗?不幸的是,出于安全原因,我无法提供任何可查看的文件。

在您的主报告中,是否有组?您的子报表可能仅限于该组的数据。

IMHO,问题的原因可能是主报表和子报表使用相同的数据集(迭代器)。谢谢Alex。正如你可能知道的,我对iReport还相当陌生。我应该使用不同的连接类型吗?如何将数据从子报表传递到主报表?非常感谢您的帮助。您是否使用Java代码?嗨,Alex,我正在使用Java,但是由于时间限制,我不得不找到解决方法,这意味着我最终没有使用子报表。谢谢您的帮助。谢谢Lisa,我的主报表没有使用任何组。如果要将任何参数传递给子报表,您可能希望在详细信息栏中显示这些参数,以便进行故障排除。