Jasper reports 如何使用单个查询结果数据创建多个图表
我有一个查询,返回给我40行,每行有错误数和关闭日期。关闭日期值 从五月到六月 现在我必须在JasperReports中创建3个报告图表Jasper reports 如何使用单个查询结果数据创建多个图表,jasper-reports,Jasper Reports,我有一个查询,返回给我40行,每行有错误数和关闭日期。关闭日期值 从五月到六月 现在我必须在JasperReports中创建3个报告图表 显示每天关闭的bug数量的图表 显示每周关闭的bug数量的图表 显示每月关闭的bug数量的图表 我们可以使用单个查询结果数据创建这3个图表,还是创建3个不同的查询 在jasper中是否可以使用脚本或其他方式执行此操作?我希望您可以在查询中使用某种日期检查。 差不多 5月和6月之间的哪一天 而是创建两个参数,例如$p{TimeCheck}和$p{TimeRang
在jasper中是否可以使用脚本或其他方式执行此操作?我希望您可以在查询中使用某种日期检查。 差不多 5月和6月之间的哪一天 而是创建两个参数,例如
$p{TimeCheck}
和$p{TimeRange}
其中,$p{TimeCheck}参数将用于时间比较查询,参数$p{TimeRange}将用于导出参数$p{TimeCheck}的值。映射参数时,为不同的图表传递不同的$P{TimeRange}值,例如,对于月图表$P{TimeRange}='month',对于周图表,$P{TimeRange}='week',对于每天图表,$P{TimeRange}='all'
参数$p{TimeCheck}应具有以下表达式“$p{TimeRange}=='week'?'中的日期(每周的开始日期或结束日期):$p{TimeRange}=='month'?'中的日期(每月的开始日期或结束日期):'date betweek'”
>
现在,在where条件中使用此参数作为where$p!{TimeCheck}
注意:不要使用主查询。尝试创建数据集并使用查询。
我希望这能解决您的问题。它会更好地为每个图表使用不同的数据集。或者您可以使用相同的数据集,但这将很难开发。您可以使用以下步骤尝试此操作: 您需要在sql查询中添加列(比如周数),并计算该列日期的周数。例如,选择周(yourdate)给你周数 现在,数据集中有三列包含周数 如果你在Jasper图表中使用week_编号作为类别,它会给出图表,但其值不匹配 原因:jasper为列编号添加了值,但也按周编号进行了划分。 示例:第一周有两行。然后它将计算它并将其除以2 这意味着您需要另一列(如week_number of_bugs_closed),它是week_number和number of_bugs_closed的倍数 要计算周数,您需要进行一个联接,该联接将为您提供该特定周的总天数 您可以参考下面显示查询结构的查询
select a.*,b.week_count, week_number_of_bugs_closed * b.week_count as week_value from
(select xyz.number_of_bugs_closed , xyz.closed_date ,week(closed_date) as week_number from xyz) a
join
(select week(closed_date) week_number, count(*) as week_count from xyz group by week(closed_date) ) b on
a.week_number = b.week_number
现在,您可以将类别week_编号及其值作为week_值用于周线图
您可以对月表使用类似的方法
我希望,我能够解释这些概念