历史版本1 :比较 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

1. 问题描述编辑

如下面总额中扩展出来的每个值与扩展后第一个值进行比较:

2. 示例编辑

2.1 打开报表
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Proportion.cpt
将占比改为比较,修改如下:
2.2 比较
在C3单元格中,输入公式=B3 - B3[A3:1]:B3单元格扩展出来的每一个值与B3单元格扩展出来的第一个值的差。
其中B3[A3:1]表示A3单元格扩展出来的第一个值下的B3的值,B3[A3:1,B3:1],即表示B3扩展出来的第一个值。
2.3 保存与预览
保存模板,点击分页预览,效果如上。模板效果在线查看请点击Compare.cpt
已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Compare.cpt

3. 总结-绝对层次坐标编辑

3.1 描述
某些报表中,可能需要对扩展后的单元格精确定位,然后参与运算,如上比较例子。然而在单元格扩展前,单元格会扩展出多少格子及格子所在的位置,在扩展前很难描述。因此,FineReport中通过层次坐标的概念来对扩展后的单元格进行唯一性定义。
绝对层次坐标就是通过绝对位置来精确定位扩展后的单元格,定位规则如下:
说明:
Cellx:指目标单元格,是Lk,Lk-1...L1;Tk,Tk-1...T1的附属格。
Lk:指某个目标单元格Cellx的左父格,Lk的次序是从远到近的,也就是从离当前格最远的左父格开始,也可以理解为从最高级别的分组格开始。
lk:指左父格LK扩展后的次序,即扩展后的第几个单元格,如果不指定lk或lk为0,则表示为当前表达式所在单元格所属的当前左父格LK。
Tk:指某个目标单元格Cellx的上父格,Tk的次序也是从远到近的,也就是从离当前格最远的上父格开始,也可以理解为从最高级别的分组格开始。
tk:指上父格Tk扩展后的次序,即扩展后的第几个单元格,如果不指定tk或tk为0,则表示为当前表达式所在单元格所属的当前上父格TK。
注:如果只有左父格没有上父格,分号可以省略,即Cellx[Lk:lk,LK-1:lk-1,......,L1:l1]
如果只有上父格没有左父格,分号不能省略,即Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]
3.2 示例