Jasper reports 在子数据集中引用主数据集
查询子数据集时,我希望在Jasper.jrxml中引用我的主数据集 我有十几个子数据集,它们都依赖于主数据集,如下所示:Jasper reports 在子数据集中引用主数据集,jasper-reports,Jasper Reports,查询子数据集时,我希望在Jasper.jrxml中引用我的主数据集 我有十几个子数据集,它们都依赖于主数据集,如下所示: SELECT what_i_need, for_my, subdataset FROM (my main dataset which has a fairly long query) m group by m.sth order by 3,4 desc, 2; 这样做的目的是查询主数据集,然后将其用作表来查询子数据集,但缺点是每次需要更改主数据集时,我都必须手动更改每个子数
SELECT
what_i_need,
for_my,
subdataset
FROM
(my main dataset which has a fairly long query) m
group by m.sth
order by 3,4 desc, 2;
这样做的目的是查询主数据集,然后将其用作表来查询子数据集,但缺点是每次需要更改主数据集时,我都必须手动更改每个子数据集
我知道我可以在数据库中创建一个视图,然后简单地从Jasper内部为main和subs引用它。
(并根据需要更改视图定义)
我在问Jasper是否可以“学会”如何使用整个主数据集作为子数据集的参数?
目标是使用某种参数一次性设置所有子数据集,并且只更改主数据集,并获得预期的结果
最终目标应该是这样的:
SELECT
what_i_need,
for_my,
subdataset
FROM
$P{Main_Dataset} m
group by m.sth
order by 3,4 desc, 2;
将字符串参数添加到数据集中,例如
pQuery
SELECT ...
FROM ( $P!{pQuery} ) m
GROUP BY ...
ORDER BY ...
感叹号代码>字符很重要
在图表的数据源中:
- 使用带有默认值的连接表达式
$P{REPORT\u connection}
- 添加
pQuery
参数并将表达式设置为$P{JASPER_REPORT}.getQuery().getText()
什么是子数据集?列出组件、子报表、JasperFillManager或其他?图表,每个图表都有一个子集,所有图表都有一个来自主数据集的单一参数。这完全符合规定,只是我花了比正常情况下更多的时间试图弄清楚为什么它不起作用。注意:请确保不要像我那样用分号关闭主数据集查询,否则您将日日夜夜徒劳无功。