查询子数据集时,我想在Jasper .jrxml中引用我的MAIN数据集。
我有大约十二个子数据集,这些子数据集都通过以下方式依赖于主集:
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内部为主视图和子视图引用该视图。 (并根据需要更改视图定义)
我在问Jasper是否可以“教”如何使用整个主数据集作为子数据集的参数? 目标是使用某种参数一次设置所有子数据集,并且仅更改主数据集并具有预期结果。
最终目标应该是这样的:
SELECT
what_i_need,
for_my,
subdataset
FROM
$P{Main_Dataset} m
group by m.sth
order by 3,4 desc, 2;
答案 0 :(得分:1)
将String参数添加到数据集中,例如pQuery
。
SELECT ...
FROM ( $P!{pQuery} ) m
GROUP BY ...
ORDER BY ...
感叹号!
字符很重要。
在图表的数据源中:
$P{REPORT_CONNECTION}
的连接表达式。pQuery
参数并将表达式设置为$P{JASPER_REPORT}.getQuery().getText()