格间函数

<< Click to Display Table of Contents >>

当前位置:  设计可视化分析报告 > 可视化组件 > 表格 > 自由式表格 

格间函数

复制链接

1. 概述

1.1 应用场景

格间函数是自由表组件特有的函数,用于格子之间的计算。

1.2 功能简介

本章节主要介绍格间函数的语法、说明和案例。

2. 功能说明

函数

语法

说明

举例

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)

导入Excel后,所有格间函数都不支持导入。但是导出Excel,所有格间函数都支持导出到Excel中。

其余函数用法请参考基础函数

2.1 函数说明

以下格间计算函数都支持类似sum(A1)的写法,支持直接引用格子数据完成计算。

①所有的聚合函数、常用函数、日期时间函数、文本函数、数学函数、财务函数、统计函数(statisticCount除外)。

②基本函数支持如下:红框内的为支持的。

db_complexform_free64_zoom65

说明:

支持类似sum(A1)写法的函数,在导出Excel后,也支持同步公式。

3. 应用举例

3.1 rowTotal、colTotal函数

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

db_complexform_cell_calculation_zoom65

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

db_complexform_cell_calculation_7_zoom65

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

db_complexform_cell_calculation_1_zoom65

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

db_complexform_cell_calculation_8_zoom65

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

db_complexform_cell_calculation_2_zoom65

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

db_complexform_cell_calculation_3_zoom65

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

db_complexform_cell_calculation_4_zoom65

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

设置:

db_complexform_cell_calculation_5_zoom53

效果:

db_complexform_cell_calculation_6_zoom65

3.2 rowIdx函数

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

db_complexform_cell_calculation_9_zoom65

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

db_complexform_cell_calculation_10_zoom65

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

db_complexform_cell_calculation_11_zoom80

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

db_complexform_cell_calculation_12_zoom61

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

db_complexform_cell_calculation_13_zoom65

3.3 参数

比如想标记不同市场分布的销售额情况,且可以随时更改标记情况,可以参考以下示例。

db_complexform_free65_zoom44

1)首先我们拖入四个文本组件和四个文本参数组件,用来输入标签信息,如下图所示。文本参数组件的名称可以用默认的,也可以修改为您想要的名称。

table56_zoom92

2)我们新建计算列,用来记录展示不同市场分布的标签信息。计算列中需要写逻辑判断,不同的市场分布使用不同的参数值。

table57_zoom89

3)在画布中拖入自由表组件,并绑定市场分布、销售额、计算列。销售额、计算列的纵向父单元格为市场分布,并设置表头。

db_complexform_free66_zoom53

4)点击画布空白区域,输入标签信息,即可看到效果。

db_complexform_free65_zoom53