省略主格表示法

一、坐标实例

层次坐标和位移坐标的表示比较烦琐,而且大部分时候,对于单元格的定位是和当前格的位置有关系的,比如当前格的主格或者和当前格有着相同主格的单元格,这时可以采用省略主格的写法。

省略主格时,如果目标单元格的某个主格Lk和当前单元格的主格相同,那么层次坐标/位移坐标中该主格可以不写。

例如:

 如果目标单元格与当前格的关系满足缺省主格认定规则,那么直接遵循缺省引用规则的表示法,不需要层次坐标/位移坐标。

例如:下图所示的占比报表中,C2单元格表达式直接引用B2、B3单元格的值,E2单元格表达式直接引用D2、D3单元格的值,不需要层次坐标或位移坐标。

C2单元格表达式:=B2/B3

E2单元格表达式:=D2/D3

二、报表实例1(层次坐标的简单写法)

目标单元格Cellx本身是扩展单元格时,Cellx[n]表示其纵向扩展后的第n个单元格,Cellx[;n]表示其横向扩展后的第n个单元格。

1、编辑报表

(1)A2单元格的表达式为:=&B2,设置A2的左主格为B2

(2)B2单元格的表达式为:=ds25.Group(销售人员,false,,,ds25.sum(数量*单价),true)

(3)C2单元格的表达式为:=ds25.sum(数量*单价),显示格式:¥#,##0.00,缩进:3

(4)D2单元格的表达式为:=C2[1]-C2

这里C2[1]表示C2单元格扩展出来的第一个单元格的值,即第一名的销售额。

2、保存预览

此报表保存为“比值报表”,预览结果如下:

三、报表实例2(位移坐标的简单写法)

在没有复杂的主格关系的报表中,Cellx[±n]表示当前格Cellx往上位移n格或者往下位移n格,其中+代表往下位移,-代表往上位移。

1、编辑报表

(1)A2单元格表达式:=ds25.dselect(雇员ID)

(2)B2单元格表达式:=ds25.销售人员

(3)C2单元格表达式:=ds25.职务

(4)D2单元格表达式:=ds25.出生日期,显示格式:yyyy-MM-dd

(5)E2单元格表达式:=ds25.Sum(数量*单价),显示格式:¥#,##0.00,缩进:3

(6)F2单元格表达式:=E2+F2[-1],显示格式:¥#,##0.00,缩进:3

这里,F2[-1]表示当前单元格F2上一行的值。

2、保存预览

此报表保存为“累积报表”,预览结果如下:

二、小结

1. 缺省主格认定规则

单元格横向扩展时,上方横向扩展单元格缺省为它的上主格,下方单元格缺省为它的附属格;如果上方没有横向扩展格,则上主格缺省为 `0 格。

单元格纵向扩展时,左边纵向扩展单元格缺省为它的左主格,右边单元格缺省为它的附属格;如果左边没有纵向扩展格,则左主格缺省为 `0 格。

2. 省略主格表示法

层次坐标和位移坐标的表示比较烦琐,而且大部分时候,对于单元格的定位是和当前格的位置有关系的,比如当前格的主格或者和当前格有着相同主格的单元格,这时可以采用省略主格的写法。

省略主格时,如果目标单元格的某个主格Lk和当前单元格的主格相同,那么层次坐标/位移坐标中该主格可以不写。

如果目标单元格与当前格的关系满足缺省主格认定规则,那么直接遵循缺省引用规则的表示法,不需要层次坐标/位移坐标。

3. 层次坐标的简单写法

目标单元格Cellx本身是扩展单元格时,层次坐标的简单表示法如下:

语法:Cellx[n],Cellx[;n]

说明:Cellx[n]表示其纵向扩展后的第n个单元格,Cellx[;n]表示其横向扩展后的第n个单元格。

4. 位移坐标的简单写法

在没有复杂的主格关系的报表中,位移坐标的简单表示法如下:

语法:Cellx[±n]

说明:表示当前格Cellx往上位移n格或者往下位移n格,其中+代表往下位移,-代表往上位移。

课后练习:

1、填空:

(1)单元格横向扩展时,上方横向扩展单元格缺省为它的______,下方单元格缺省为它的______;如果上方没有横向扩展格,则上主格缺省为______。

(2)单元格纵向扩展时,左边纵向扩展单元格缺省为它的______,右边单元格缺省为它的______;如果左边没有__________,则左主格缺省为 `0 格。

(3)目标单元格Cellx本身是________时,层次坐标的简单表示法如下:Cellx[n]表示其________后的第n个单元格,Cellx[;n]表示其________后的第n个单元格。

(4)在没有复杂的________的报表中,位移坐标的简单表示法如下:Cellx[±n]表示当前格Cellx往上位移n格或者往下位移n格,其中+代表________,-代表________。

2、在下图的报表中,当前单元格为带红圈的单元格时,写出与之对应的带蓝圈的单元格的层次坐标和位移坐标:

3、写出如下图所示的报表中,下列坐标的返回值:

(1)当前格的值为115,层次坐标C2[B2:1;C1:10] 

(2)当前格的值为202,位移坐标C2[A2:1,B2:-1] 

(3)层次坐标C1[;3]  

(4)当前格的值为283,位移坐标C2[B2:-3]  

(5)当前格的值为655,层次坐标C2[A2:4,B2:2] 

(6)当前格的值为642,层次坐标C2[C1:4]  

(7)当前格的值为572,位移坐标C2[C1:-5]  

(8)当前格的值为102,位移坐标B2[-2]  

(9)当前格的值为862,层次坐标C2[A2:-3,B2:-2] 

(10)层次坐标A2[3]