扩展-参考:属性
目录

扩展

扩展包括扩展方式、左主格、上主格

运算结果为集合的函数,我们称为集合函数。集合函数包括:group(),select(),list(), query(),call(),to()等。 to()函数举例:to(1,3) 计算结果为集合的表达式称为集合表达式。计算结果为单值的表达式称为单值表达式。当单元格的数据值表达式为集合表达式时,该单元格默认为可扩展单元格。否则该单元格默认为不可扩展。

用户在不熟悉扩展与主格概念与规则时,可以通过工具栏上的扩展按钮打开扩展向导,跟随向导来完成扩展与主格属性的设置。

 扩展方式

单元格的扩展方式属性分为默认、横向扩展、纵向扩展、不可扩展四种。当单元格为可扩展单元格时,可以默认扩展方向,也可以为扩展单元格设置一个扩展方向,扩展可以有横纵两个方向,即横向扩展和纵向扩展,但一个扩展格同时只能有一个扩展方向。

默认 :

1、单元格的表达式为单值表达式时,该单元格默认为是不可扩展的。

2、单元格的表达式为集合表达式时,该单元格默认为是可扩展的。

3、可扩展单元格的主单元格为行首格或列首格时,该单元格默认为纵向扩展。

4、可扩展单元格的上主格横向扩展时,该单元格默认为横向扩展。

5、可扩展单元格的左主格纵向扩展时,该单元格默认为纵向扩展。

横向扩展

当可扩展单元格的扩展方向为横向时,该单元格进行的扩展称为横向扩展。

此时该单元格会横向进行扩展,扩展出的单元格的数据值依次为表达式的结果数据值,表达式返回几个值,单元格就扩展几个。

扩展出来的新单元格的所有属性都引用被扩展单元格的属性;

预览效果

纵向扩展

当可扩展单元格的扩展方向为纵向时,该单元格进行的扩展称为纵向扩展。

此时该单元格会纵向进行扩展,扩展出的单元格的数据值依次为表达式的结果数据值,表达式返回几个值,单元格就扩展几个。

扩展出来的新单元格的所有属性都引用被扩展单元格的属性;

预览效果:

不可扩展

 

当单元格里表达式的值是单值时,该单元格默认为不可扩展的单元格。

左主格

主格

根格(报表首格) 报表左上角的灰色单元格称为报表首格,也称为根格。它用于存储描述整个报表的属性。 

根格(报表首格)的书写规则为:`0 这里要强调的是 `0而不是‘0

主格和附属格

单元格进行扩展的过程中,缺省情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其它格(其右/下的格)的主格,而其右(下)的单元格是被动跟随复制的,被称为扩展格的附属格或子格。主格和附属格是相对的概念,即某格是另一格的主格或附属格,不存在单独的主格和附属格。 从主格的定义中看,显然只有扩展格才能是其它格的主格!

要注意的是,在缺省情况下,扩展格左(上)的格并不是其附属格,只有右(下)的格才是其附属格。 特别地,某个单元格的主格属性可以人为被改变。

左主格

单元格进行纵向扩展时,我们又称其为其右边格子的左主格。左主格属性可以默认缺省,也可以人为的改变。

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

人为改变主格规则: 可以将某个单元格的左主格设置成某个纵向扩展格。如果要将某单元格的上主格改为00格,则将其上主格属性设置为`0。

为了符合扩展变化的规则,我们可以知道人为设置主格需要满足一些条件:

  • 左主格必须是纵向扩展格,否则设置无效。
  • 不允许出现循环设置的情况,即设置A的主格是B,B的主格是C,C的主格又是A,出现循环设置时认为设置有误,报表无法计算。显然,在缺省的情况下是不可能出现循环设置的,而在人为设置时必须避免这种情况的出现。
  • 横向扩展格不允许有左主格。人为设置时,可能发生左主格在右边的情况,而且主格也不一定和附属格在同一行上

上主格

单元格进行横向扩展时,我们又称其为其下边格子的上主格

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

人为改变主格规则 可以将某个单元格的上主格设置成某个横向扩展格。如果要将某单元格的上主格改为00格,则将其上主格属性设置为`0。

为了符合扩展变化的规则,我们可以知道人为设置主格需要满足一些条件: