皕杰报表的规则模型

在这里讲解皕杰报表的规则模型,包括主格认定规则、扩展变化规则以及缺省引用规则.

报表首格定义

报表设计区网格区域左上角的灰色单元格称为报表首格,也称为根格。它用于设置整个报表的属性。如下图所示:

报表首格的书写定义为:A0

主格认定规则

单元格横向扩展时,上方横向扩展单元格缺省为它的上主格,下方单元格缺省为它的附属格;如果上方没有横向扩展格,则上主格缺省为首格(即:A0)。

单元格纵向扩展时,左边纵向扩展单元格缺省为它的左主格,右边单元格缺省为它的附属格;如果左边没有纵向扩展格,则左主格缺省为首格(即:A0)。

左主格必须是纵向扩展格,上主格必须是横向扩展格,否则设置无效。

不允许出现循环设置的情况,即设置A的主格是B,B的主格是C,C的主格又是A,出现循环设置时认为设置有误,报表无法计算。显然,在缺省的情况下是不可能出现循环设置的,而在人为设置时必须避免这种情况的出现。

横向扩展格不允许有左主格,纵向扩展格不允许有上主格。如下图所示:

人为设置时,可能发生左(上)主格在右(下)边的情况,而且主格也不一定和附属格在同一行(列)上。

扩展变化规则

多层扩展时,扩展次序是从主到次的,即先扩展主格,然后扩展其附属格,再扩展其二级附属格,依此类推。

单元格进行横向扩展时,会将其同列的上主格拉大,把其附属单元格复制,特别地,如果其某个上主格不在同列上,则该上主格不会被拉大;

单元格进行纵向扩展时,会将其同行的左主格拉大,把其附属单元格复制,特别地,如果其某个左主格不在同行上,则该左主格不会被拉大。

一般地,主格能够主动进行扩展复制,称为主动扩展格;附属单元格被主单元格带动着复制,称为被动复制格。由于附属单元格同时又可能是别的单元格的主格,本身还可以进行主动扩展复制,因此主动扩展格和被动复制格是相对的。既不能主动扩展复制,也不能被动复制的单元格,我们称为不可复制格,或者叫固定格。

同一报表中可能同时有纵向扩展格和横向扩展格,如果它们的子格有重叠部分,则这些子格就即有左主格又有上主格,在扩展时会被即向下又向右复制,形成一片矩形单元格区域,从而做到交叉扩展。相应地,在这种机制下,多层交叉也不难实现。

在交叉扩展中,有的单元格有可能既被横向扩展向右复制,也被纵向扩展向下复制,可是,单元格的横向扩展与纵向扩展这两种扩展是相互独立的,既可以先进行横向扩展,也可以先进性纵向扩展,并不会影响扩展之后的结果。

缺省引用规则

缺省情况下,在单元格中的运算中可以引用其它单元格的值,直接写单元格名即可,这样的运算称为格间运算,这种引用称为缺省的引用规则。在这里,被引用的单元格必须是能够由当前格唯一确定的。

一般情况下,被引用单元格往往是当前格的主格,或者与当前格有相同的一级主格,或者是固定格。固定格由于不能复制,因此可以唯一确定。