1、 上图展示的月报是日常统计报表的一种典型样式。
2、 该月报的实现逻辑与11.2节中包含本期累计的日报类似,均需要配置三条表间计算规则来完成数据汇总和对比。
3、 获取所有产品的名称清单。
4、 查询当月相关数据时,需执行行列匹配操作以准确定位所需信息。
5、 同样地,查询去年同月的数据也需要通过行列匹配的方式进行对应查找。
6、 相较于勤哲Excel服务器提供的同期比功能,FineReport因其更全面的功能设计,在数据处理、分析及可视化等方面具备更强的能力,能够适应更多复杂业务场景,提供更高的灵活性与可扩展性。
7、 FineReport通过将单元格与数据库字段绑定来实现数据读取与呈现。其扩展机制支持数据按行或列自动填充。在报表设计过程中,可通过层次坐标精确控制扩展后各单元格的位置,从而提取同一字段下的多条记录。类似于Excel表格的操作方式,FineReport也支持对扩展后的数据进行多种运算,如自动生成序号、排名、占比计算、累计求和等。其中,同期比是一种常用的数据分析手段,主要用于比较当前时间段与上一相同周期(例如去年同期)之间的变化情况,便于识别增长趋势。通过公式设置,系统可自动获取对应周期的数据并完成比率计算,显著提升报表的分析效能和实用价值。
8、 所谓同期比,即对本年度各月份数据与上年度相同月份数据进行比例对比,如下图所示:
9、 查看最终报表效果
10、 进入报表路径 %FR_HOME%WebReportWEB-INFreportletsdocAdvancedCacuate_Between_CellsProportion.cpt 并打开该文件,确保其正常加载,以便进行后续查看或修改操作。
11、 将数据集ds1中的SQL语句更新为:select strftime(%Y,订购日期) as 年份, strftime(%m,订购日期) as 月份, 应付金额 from 订单,用于提取每条订单记录的年份、月份以及应付金额,进而统计不同年月的销售总额。
12、 按以下方式调整报表布局与内容:
13、 实现同比去年数据对比
14、 在D3单元格中输入公式:=IF(&A3>1,C3/C3,0),并将月份单元格设为父格,使其随月份维度自动扩展。当&A3大于1时,表示已进入第二年及以上,此时计算当前月金额与上年同期的比率;否则返回0。
15、 C3在此表示当前年份下C3单元格的值,而引用逻辑相当于在A3所在年份的基础上向上偏移一行(即前一年),查找与当前月份相同位置的月份所对应的C3数值,因此结果仍指向C3本身。
16、 完成设置后保存并预览报表
17、 可参考系统内置模板文件,路径为 %FR_HOME%WebReportWEB-INFeportletsdocAdvancedCacuate_Between_CellsPeriodChain.cpt,该文件位于指定目录下,可用于学习和对照相关功能的具体实现方法,建议深入阅读以掌握其配置细节与计算逻辑。
18、 功能说明
19、 相对层级坐标定位机制是指在具有层级结构的数据环境中,依据相邻或上下级之间的相对位置关系,确定某一特定单元格(如Cellx)的实际坐标位置,广泛应用于表格或矩阵中的精准定位与引用操作。
20、 父子格之间存在层级依赖关系。例如,D3的父格为B3,B3的父格为A3,则A3即为D3的高层级父格。当仅设定高层级父格(如A3)的位置而未明确指定低层级父格位置时,系统会默认将低层级父格定位在与其高层级父格相对偏移量为+0的位置,保持层级间坐标的连续性和一致性。