Jasper Studio:聚合 JDBC 域数据
Jasper Studio: Aggregating JDBC Domain data
我的问题与post中的问题有关,但我改变了方法。
我需要创建一个基本差异报告,显示两个日期的交易量以及这些交易量之间的差异。
我有一个 SQL 查询,它使用子查询为我的数据提供适当的聚合。
我的问题是我必须使用 JDBC 域数据源并且无法在 Studio 中正确聚合结果。
我的域数据集如下所示:
ID Date Volume
1 2015-10-05 100
1 2015-10-06 200
2 2015-10-05 800
2 2015-10-06 700
想要的结果 Table 按 VolDiff 排序
ID VolDate1 VolDate2 VolDiff
2 800 700 -100
1 100 200 100
我在 Studio 中尝试了几种方法:
- 交叉表
- 非结构化 - 组带中的文本字段
- 问题:无法有条件地格式化组页脚带中的行
- 多个tables
- 问题:无法弄清楚如何将 table 结果中的 return 值提供给第三个体积差异 table
- Table 在摘要带中
- 问题:无法在一行中获取两个日期卷
- 有了这个解决方案,我的 table 最终看起来像:
ID VolDate1 VolDate2 VolDiff
2 800 0 -800
2 0 700 700
1 100 0 -100
1 0 200 200
instead of:
ID VolDate1 VolDate2 VolDiff
2 800 700 -100
1 100 200 100
我使用计算变量获取交叉表的步骤:
正在配置 crosstab:
- 将我的日期作为列(ID 为行,卷为
测量)
- 在交叉表中,将我的度量的计算函数更改为 "Sum"
计算体积差异并添加到交叉表:
在主数据集中创建 2 个变量来给出每天的交易量:
Vol_Date1: IF($F{dateSet.RecordDate}.equals($P{RecordDate_0_1}), $F{productionSet.OilProduction},0.0)
在计算差异的主数据集中创建第三个变量:
Vol_Diff: $V{Vol_Date2}-$V{Vol_Date1}
变量属性:要正确获取差异变量:
Vol_Date1: Calculation = First, Increment Type = None, Reset Type = [Group] ID
Vol_Date2 and Vol_Diff: Calculation = None, Increment Type = None, Reset Type = Report
- 在值表达式为 $V{Vol_Diff} 的交叉表中创建度量;计算=无计算功能
我的问题与post中的问题有关,但我改变了方法。
我需要创建一个基本差异报告,显示两个日期的交易量以及这些交易量之间的差异。
我有一个 SQL 查询,它使用子查询为我的数据提供适当的聚合。
我的问题是我必须使用 JDBC 域数据源并且无法在 Studio 中正确聚合结果。
我的域数据集如下所示:
ID Date Volume 1 2015-10-05 100 1 2015-10-06 200 2 2015-10-05 800 2 2015-10-06 700
想要的结果 Table 按 VolDiff 排序
ID VolDate1 VolDate2 VolDiff 2 800 700 -100 1 100 200 100
我在 Studio 中尝试了几种方法:
- 交叉表
- 非结构化 - 组带中的文本字段
- 问题:无法有条件地格式化组页脚带中的行
- 多个tables
- 问题:无法弄清楚如何将 table 结果中的 return 值提供给第三个体积差异 table
- Table 在摘要带中
- 问题:无法在一行中获取两个日期卷
- 有了这个解决方案,我的 table 最终看起来像:
ID VolDate1 VolDate2 VolDiff 2 800 0 -800 2 0 700 700 1 100 0 -100 1 0 200 200
instead of:
ID VolDate1 VolDate2 VolDiff 2 800 700 -100 1 100 200 100
我使用计算变量获取交叉表的步骤:
正在配置 crosstab:
- 将我的日期作为列(ID 为行,卷为 测量)
- 在交叉表中,将我的度量的计算函数更改为 "Sum"
计算体积差异并添加到交叉表:
在主数据集中创建 2 个变量来给出每天的交易量:
Vol_Date1: IF($F{dateSet.RecordDate}.equals($P{RecordDate_0_1}), $F{productionSet.OilProduction},0.0)
在计算差异的主数据集中创建第三个变量:
Vol_Diff: $V{Vol_Date2}-$V{Vol_Date1}
变量属性:要正确获取差异变量:
Vol_Date1: Calculation = First, Increment Type = None, Reset Type = [Group] ID Vol_Date2 and Vol_Diff: Calculation = None, Increment Type = None, Reset Type = Report
- 在值表达式为 $V{Vol_Diff} 的交叉表中创建度量;计算=无计算功能