格间函数

<< Click to Display Table of Contents >>

当前位置:  制作可视化报告 > 制作复杂表格 

格间函数

复制链接

1.格间函数

格间函数是自由表组件特有的函数,用于格子之间的计算,函数说明见下表:

函数

语法

说明

举例

cell

语法1:

cell(string name)

语法2:

cell(int row, int column)

格间计算里引用其它单元格的函数

*string name 是指单元格的名称

*row表示当前行号,column表示当前列号,rsize表示总行数,csize表示总列数

1.可以通过格子的名字进行引用。

例如:col('market')

2. 可以通过行列坐标值进行引用。

例如:

cell(1,3),表示第2行第4列的格子。

cell(row,1),表示当前行的第2列的格子,如果当前行有扩展,会获取扩展后的数据并计算。

cell(1,column),表示当前列的第2行的格子。

cell(row+1,column-1),表示当前格子紧挨着的左侧向下的单元格。

cell(row, csize-1),表示当前行的最后一个单元格。

cell(rsize-1, column),表示当前列的最后一个单元格。

cell(rsize-2, csize-2),表示倒数第2行,倒数第2列所在的单元格。

注意:row,column是从0开始计算,自由表左上角的第一个为原点。

rsize,csize 是具体的行列数,有数据就是从1开始。

rowTotal

rowTotal(int column, int rstart,int rend,String function)

 

指定某列,第i行到第j行的行合计

*参数 column 表示计算行合计的所在列, rstart 表示起始行, rend 表示结束行,function表示汇总方式,包括sum、avg、max、min、count、countAll、distinctCount。

说明:

function参数选填,不填时,默认汇总方式为sum。

当前单元格前一整列单元格的合计值:

rowTotal(column-1 ,0 ,rsize-1)

详情可参考下文中的典型案例 > rowTotal、colTotal函数

colTotal

colTotal(int row, int cstart,int cend,String function)

指定某行,第i列到第j列的列合计

*参数 row 表示计算列合计的所在行, cstart 表示起始列, cend 表示结束列,function表示汇总方式,包括sum、avg、max、min、count、countAll、distinctCount。

说明:

function参数选填,不填时,默认汇总方式为sum。

下一行数据从第3-10 个单元格的合计值:

colTotal(row+1, 2, 9)

详情可参考下文中的典型案例 > rowTotal、colTotal函数

rowIdx

rowIdx(String cellName)

指定某单元格,依次计算序号,若有分组,会按照分组分别计算序号

*cellName 是单元格名称

计算“产品名称”字段序号:

rowIdx("产品名称")

详情可参考下文中的典型案例 > rowIdx函数

colIdx

colIdx(String cellName)

指定某单元格,依次计算序号,若有分组,会按照分组分别计算序号

*cellName 是单元格名称

计算“产品种类”字段序号:

colIdx("产品种类")

up

up(int num)

格间计算里引用格子的函数,表示当前单元格上方第num个单元格

*num 是大于 0 的整数

表示当前单元格上方第一个单元格:

up(1)

down

down(int num)

格间计算里引用格子的函数,表示当前单元格下方第num个单元格

*num 是大于 0 的整数

表示当前单元格下方第一个单元格:

down(1)

left

left(int num)

格间计算里引用格子的函数,表示当前 单元格左侧第num个单元格

*num 是大于 0 的整数

表示当前单元格左侧第一个单元格:

left(1)

right

right(int num)

格间计算里引用格子的函数,表示当前单元格右侧第num个单元格

*num 是大于 0 的整数

表示当前单元格右侧第一个单元格:

right(1)

2.格间函数典型案例

2.1rowTotal、colTotal函数

自由表中统计了产品种类、市场分布的销量,如需计算它们的合计值,可使用rowTotal、colTotal函数。

db_ComplexForm_Cell_Calculation

1)选中市场分布右侧的第一个单元格,数据类型默认为“常量”,输入“列合计”。

db_ComplexForm_Cell_Calculation_7

2)选中列合计下方的第一个单元格,在类型的下拉选项中选择“格间计算”,在格间函数的对话框中输入“colTotal(row, 1, column-1)”。

db_ComplexForm_Cell_Calculation_1

3)选中产品种类下方的第一个单元格,数据类型默认为“常量”,输入“行合计”。

db_ComplexForm_Cell_Calculation_8

4)选中行合计右侧的第一个单元格,在类型的下拉选项中选择格间函数,在格间函数的对话框中输入“rowTotal(column,1 ,row-1)”。

db_ComplexForm_Cell_Calculation_2

5)按照步骤4中同样的设置方式,选中行合计右侧的第二个单元格,在类型的下拉选项中选择“格间函数”,在格间函数的对话框中输入“rowTotal(column,1 ,row-1)”。

db_ComplexForm_Cell_Calculation_3

6)点击画布空白区域,查看合计数据。

db_ComplexForm_Cell_Calculation_4

7)为便于查看合计,可选中单元格,点击右侧的【格式】,设置字体加粗。

设置:

db_ComplexForm_Cell_Calculation_5

效果:

db_ComplexForm_Cell_Calculation_6

2.2 rowIdx函数

自由表中统计了各省份产品的利润,希望在省份的左侧加一列显示所在行的序号,可使用rowIdx函数。

db_ComplexForm_Cell_Calculation_9

1)选中省份单元格,鼠标右键,在右键菜单中选择【插入 > 在左侧插入1列】。

db_ComplexForm_Cell_Calculation_10

2)选中省份左侧的单元格,数据类型默认为“常量”,输入“序号”。

db_ComplexForm_Cell_Calculation_11

3)选中序号下方的第一个单元格,在类型的下拉选项中选择“格间计算”,在格间函数的对话框中输入函数“rowIdx('省份')”。

db_ComplexForm_Cell_Calculation_12

4)点击画布空白区域,查看序号。

db_ComplexForm_Cell_Calculation_13