累计值的计算
报表中经常需要求某个字段数据的累计值。接下来,我们通过一个很简单的网格式报表,然后增加累积的计算表达式,来了解累计值的计算。
报表中的数据,来自下面的数据集:
详细了解sql检索数据集制作,请参考:sql检索
制作向导
先绘制出报表基本框架,然后使用制表助手,就可以实现这张以订单ID扩展的列表数据形式报表。制表助手会自动在报表中生成相应的公式和属性。
再追加累计销售金额数据列,然后在F2单元格输入表达式:=E2+F2[-1],就可以实现求得金额数据累计值。
功能点说明
位移坐标
在F2单元格输入表达式:=E2+F2[-1],用以实现销售金额累计值的计算,那么为什么使用这个表达式呢?这个表达式又有什么含义呢?我们用一个推论来说明:
- 分析:对第一行来说,F2格的值等于E2格,对第二行来说,F2格的值=第一行的F2格+第二行的E2格,对第三行来说,……
- 结论:累积值=上一行的累积值+当前行需要被累积的值
- 问题:如何在单元格表达式中表示“上一行的累积值”?从图中的E2可以看出,在设计状态,只有一行单元格,E2格只有一个,扩展后变成了很多行,变成了很多个E2格,因此,在设计状态下要描述扩展后的E2格,是比较困难的。
- 解决:报表提供了位移坐标的表示法,用E2表示当前单元格表E2的值,F2[-1]表示当前单元格F2上一行的值(对于第一行来说F2上一行不存在,E2+F2[-1]对应值即为E2),便可以轻松解决问题了。在这个例子中,F2格的表达式可以写成=E2+F2[-1]。
详细了解位移坐标的使用,请参考:位移坐标
位移坐标属于定位模型中的一种方法,报表的设计中经常会需要定位模型,如需系统的掌握并灵活的运用定位模型,请参考:定位模型