函数辅助编辑功能使用说明

函数辅助编辑功能可以通过可视化编辑器帮助用户编辑函数表达式,函数名称、函数选项、参数都可以直接在编辑器中选择。界面如下:

imagepng

请选择单元格:此处选择的单元格将作为函数前缀;

请选择函数名:选择要使用的函数,此处将根据请选择单元格中的单元格返回值类型自动列出可用的函数;

属性设置框:该区域中可设置函数的参数及选项。属性名称会根据当前选择的函数名称自动切换,属性值格子为编辑框时可编辑参数表达式;属性值格子为下拉列表框时可在下拉列表中选择,也可以通过属性值表达式自定义属性值。

点击该界面最下方的 url 可跳转到当前函数对应的在线函数说明文档页面。

下面将通过示例介绍如何使用用函数辅助编辑器:

例如:从集算器内置的demo数据源中读取CITIES表与STATES表,对CITIES表先执行分组汇总计算,然后再将汇总后的数据表与 STATES表通过外键字段 STATEID 连接,最后将连接后的数据表写出到带密码的 Excel 文件 STSTE.xls 中。

1,创建 splx 文件

imagepng

2,编辑 A1 单元格,连接 demo 数据源

选中 A1 单元格,点击编辑函数辅助或右键选择函数辅助,打开函数辅助编辑器界面,配置如下:

选择函数名:connect(db)

数据源名称demo

使用函数 connect(db) 时,在工具 数据连接中配置过的数据源,可直接在数据源名称属性值中通过下拉框选择:

imagepng

此处选择 demo,点击确定后,A1 单元格生成内容如下:


A

1

=connect("demo")

未在工具数据连接中配置过的数据源,则可以在属性值表达式中配置连接属性,比如配置 MySQL 连接:

imagepng

点击确定后生成单元格表达式为:

=connect("com.mysql.jdbc.Driver","jdbc:mysql://127.0.0.1:3306/mysql?user=root&password=123")

3,编辑 A2 单元格,从 demo 数据源中获取出 CITIES 表,结果返回成序表

选中 A2 单元格右键选择函数辅助,配置如下:

选择单元格:A1(DB),此处选择的单元格将会作为函数前缀

选择函数:query(sql)

查询 SQL 语句:select CID,NAME,POPULATION,STATEID from CITIES where CID<?

参数:200

imagepng

确定后,A2 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

4,编辑 A3 单元格,对 CITIES 表执行分组汇总计算,按照 STATEID 分组,计算每组中 POPULATION 的总和及 CID 的总个数

选中 A3 单元格右键选择函数辅助,设置如下:

选择单元格:A2(Sequence)

选择函数:group(x:F,…;y:G,…)

分组表达式:STATEID,别名为 SID

聚合表达式:sum(POPULATION),别名为 Total_POPULATION;count(CID),别名为 Count_city

imagepng

确定后,A3 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

5,编辑 A4 单元格,从 demo 数据源中获取 STATES 表,结果返回成游标

选中 A4 单元格右键选择函数辅助,设置如下:

选择单元格:A1(DB)

选择函数cursor(sql)

查询 SQL 语句:select STATEID,NAME,AREA from STATES

选项:勾选自动关闭连接 (x)

imagepng

确定后,A4 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

4

=A1.cursor@x("select STATEID,NAME,AREA from STATES")

6,编辑 A5 单元格,将 STATES 表根据字段 STATEID 排序

选中 A5 单元格右键选择函数辅助,设置如下:

选择单元格:A4(Cursor)

选择函数:sortx()

排序字段或表达式:STATEID

imagepng

确定后,A5 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

4

=A1.cursor@x("select STATEID,NAME,AREA from STATES")

5

=A4.sortx(STATEID)

7,编辑 A6 单元格,将 A5 游标与 A3 序表通过外键字段 STATEID 进行连接

选中 A6 单元格右键选择函数辅助,设置如下:

选择单元格:A5(Cursor)

选择函数:join()

外键字段:STATEID

连接序表:A3(Sequence)

连接主键:SID

选出表达式:Total_POPULATION;Count_city,别名:Count_CITY

选项:勾选内连接 (i)

imagepng

确定后,A6 单元格内容如下:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

4

=A1.cursor@x("select STATEID,NAME,AREA from STATES")

5

=A4.sortx(STATEID)

6

=A5.join@i(STATEID,A3:SID,Total_POPULATION,Count_city:Count_CITY)

至此,需要写入到文件的数据已经整理好,接下来开始写入文件。

8,编辑 A7 单元格,创建数据文件 STSTE.xls

选中 A7 单元格右键选择函数辅助,设置如下:

选择函数:file()

文件名称:D:/STSTE.xls

字符集UTF-8

imagepng

确定后,A7 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

4

=A1.cursor@x("select STATEID,NAME,AREA from STATES")

5

=A4.sortx(STATEID)

6

=A5.join@i(STATEID,A3:SID,Total_POPULATION,Count_city:Count_CITY)

7

=file("D:/STSTE.xls":"UTF-8")

9,编辑 A8 单元格,将 A6 游标中的数据导出到数据文件中

选中 A8 单元格右键选择函数辅助,设置如下:

选择单元格:A7(File)

选择函数:xlsexport()

导出序表或游标:A6(Cursor)

导出的字段:缺省导出全部字段

页名称:STATE_JOIN

XlS文件的写密码:123456

选项:勾选将第一条记录作为标题 (t)

imagepng

确定后,A8 单元格生成如下内容:


A

1

=connect("demo")

2

=A1.query("select CID,NAME,POPULATION,STATEID from CITIES where CID<?",200)

3

=A2.group(STATEID:SID;sum(POPULATION):Total_POPULATION,count(CID):Count_city)

4

=A1.cursor@x("select STATEID,NAME,AREA from STATES")

5

=A4.sortx(STATEID)

6

=A5.join@i(STATEID,A3:SID,Total_POPULATION,Count_city:Count_CITY)

7

=file("D:/STSTE.xls":"UTF-8")

8

>A7.xlsexport@t(A6;"STATE_JOIN";"123456")

10,执行脚本

执行后会在 D 盘生成名为 STSTE.xls 的 Excel 文件,双击文件并输入密码后可查看文件,内容如下:

imagepng

注意:

1、任意一个单元格,在已选定函数并编辑完成,点击【确定】按钮后,仍可重新编辑函数的参数值和选项,但是不支持更换函数名称,若想更换函数只能先清除单元格内容后再去编辑。

2、手动编辑的单元格表达式,如果其中用到的函数是函数辅助中不包含的,则该单元格不能同步到函数辅助编辑器中。

3、目前函数辅助编辑中并非包含集算器的所有函数,而是只包含数据读取、计算、导出相关的部分函数,后续会逐步添加。