目录

在报表中指定单元格

报表中经常需要求某个字段数据的排名以及其与第一名的差距。接下来,我们通过一个很简单的网格式报表,来了解排名、及与第一名差距。

报表中的数据来自下面数据集:

制作向导

先绘制出报表基本框架,然后使用单元格向导,就可以实现这张以地区分组按订单总价排序的报表。单元格向导会自动在报表中生成相应的公式和属性。

也可以使用制表助手制作分组报表,请参考:制表助手

 

插入"名次"列,A2单元格的表达式为:=&B2,设置A2的左主格为B2;

追加"与和第一名差距"列,D2单元格的表达式为:=C2[1]-C2

功能点说明

&运算符

这个报表中,通过B2单元格表达式中group()函数的排序功能,实现按照销售额从大到小排列。对于A2单元格的名次表达式,要知道某个扩展出来的格子在所有扩展出来的格子中排第几,就用到了&运算符,它可以获得当前格所属的某主格在所有扩展出来的格子中的排序,这种运算我们也称为层次坐标的逆运算。它可以获得当前单元格所属的某主格在所有扩展出来的格子中排第几。

详细了解&运算符,请参考: &运算符

层次坐标 

和第一名的差距这个指标的运算逻辑是:第一名的销售额 - 当前销售的销售额。从图中可以看出,D2格的表达式最关键的在于如何表达出“第一名的销售额”,该报表是按照销售额从大到小排列的,因此第一名的销售额肯定是第一个C2格。如何在报表扩展前在表达式中描述出扩展后的第N个C2格呢?这里用到了报表非线性模型中的层次坐标,我们把D2单元格的表达式写成:=C2[1]-C2。

详细了解层次坐标,请参考:层次坐标

 

详细了解分组报表涉及的group()函数,请参考:group()