报表软件FineReport各类函数大全.docx

上传人:b****6 文档编号:8380282 上传时间:2023-01-30 格式:DOCX 页数:35 大小:91KB
下载 相关 举报
报表软件FineReport各类函数大全.docx_第1页
第1页 / 共35页
报表软件FineReport各类函数大全.docx_第2页
第2页 / 共35页
报表软件FineReport各类函数大全.docx_第3页
第3页 / 共35页
报表软件FineReport各类函数大全.docx_第4页
第4页 / 共35页
报表软件FineReport各类函数大全.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

报表软件FineReport各类函数大全.docx

《报表软件FineReport各类函数大全.docx》由会员分享,可在线阅读,更多相关《报表软件FineReport各类函数大全.docx(35页珍藏版)》请在冰豆网上搜索。

报表软件FineReport各类函数大全.docx

报表软件FineReport各类函数大全

报表软件FineReport各类函数大全

常用函数…………………………………………………………………………2

报表函数…………………………………………………………………………4

数组函数…………………………………………………………………………6

数学和三角函数…………………………………………………………………8

文本函数…………………………………………………………………………16

日期和时间函数…………………………………………………………………22

逻辑函数…………………………………………………………………………28

简单的自定义函数………………………………………………………………29

常用函数

1.SUM

SUM(number1,number2,…):

求一个指定单元格区域中所有数字之和。

Number1,number2,…:

1到30个参数或指定单元格区域中所有数字。

备注:

函数将直接键入参数中的数值、逻辑值及文本表达式计算在内。

若参数是数组或引用,则只对数组或单元格引用的数值进行计算。

示例:

SUM(70,80)等于150。

SUM("70",80,TRUE)等于151,逻辑值"TRUE"作为1来计算;"FALSE"作为0计算;文本"70"作为70来计算。

2.COUNT

COUNT(value1,value2,…):

计算数组或数据区域中所含数字项的个数。

Value1,value2,…:

可包含任何类型数据的参数,但此函数只将数字类型的数据计算在内。

备注:

数字、日期或以文字代表的数字参数将被计算在内;但无法转换成数字的错误值或文本值参数将忽略不计。

如果数组或引用参数中包含可解析文本值、逻辑值、零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

3.AVERAGE

AVERAGE(number1,number2,…):

返回指定数据的平均值。

Number1,number2…:

用于计算平均值的参数。

备注:

参数必须是数字,或是含有数字的名称,数组或引用。

如果数组或引用参数中含有文字,逻辑值,或空白单元格,这些值将被忽略;但是,单元格中的零值则参与计算。

示例:

如果A1:

A6被命名为“ages”,分别等于10,23,14,24,33及25,则:

AVERAGE(A1:

A6)等于21.5,AVERAGE(ages)等于21.5。

如果还有一个年龄为18的,求所有年龄的平均值为:

AVERAGE(A1:

A6,18)等于21。

4.CHAR

CHAR(number):

根据指定数字返回对应的字符。

CHAR函数可将计算机其他类型的数字代码转换为字符。

Number:

用于指定字符的数字,介于1-Number:

用于指定字符的数字,介于1-65535之间(包括1和65535)。

示例:

CHAR(88)等于“X”;CHAR(45)等于“-”。

5.DATE

DATE(year,month,day):

返回一个表示某一特定日期的系列数。

Year:

代表年,可为一到四位数。

Month:

代表月份。

若1month12,则函数把参数值作为月;若month>12,则函数从年的一月份开始往上累加。

例如:

DATE(2000,25,2)等于2002年1月2日的系列数。

Day:

代表日。

若日期小于等于某指定月的天数,则函数将此参数值作为日;若日期大于某指定月的天数,则函数从指定月份的第一天开始往上累加;若日期大于两个或多个月的总天数,则函数把减去两个月或多个月的余数加到第三或第四个月上,依此类推。

例如:

DATE(2000,3,35)等于2000年4月4日的系列数。

备注:

若需要处理公式中日期的一部分,如年或月等,则可用此公式。

若年,月和日是函数而不是函数中的常量,则此公式最能体现其作用。

示例:

DATE(1978,9,19)等于1978年9月19日。

DATE(1211,12,1)等于1211年12月1日。

6.MAX

MAX(number1,number2,…):

返回参数列表中的最大值。

Number1,number2,…:

1到30个需要找出最大值的参数。

备注:

参数可以是数字、空白单元格、逻辑值或数字的文本表达式。

如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

如果参数中没有任何数字,MAX将返回0。

示例:

MAX(0.1,0,1.2)等于1.2。

7.MIN

MIN(number1,number2,…):

返回参数列表中的最小值。

Number1,number2,…:

1到30个需要找出最小值的参数。

备注:

若参数中没有数字,函数MIN将返回0。

参数应为数字、空白单元格、逻辑值或是表示数值的文本串。

如果参数是错误值时,MIN将返回错误信息。

如果数组或引用参数中包含可解析文本值,逻辑值,零值或空白单元格,这些值都将参与计算,而不可解析的文本值忽略不计。

示例:

如果B1:

B4包含3,6,9,12,则:

MIN(B1:

B4)等于3,MIN(B1:

B4,0)等于0。

8.TIME

TIME(hour,minute,second):

返回代表指定时间的小数。

介于0:

00:

00(12:

00:

00A.M.)与23:

59:

59(,1:

59:

59P.M.)之间的时间可返回0到0.99999999之间的对应数值。

Hour:

介于0到23之间的数。

Minute:

介于0到59之间的数。

Second:

介于0到59之间的数。

示例:

TIME(14,40,0)等于2:

40PM,TIME(19,43,24)等于7:

43PM。

9.RANGE

RANGE(from,to,step)函数表示从整数from开始,以step为每一步的示例:

直到整数to的一个数字序列。

备注:

RANGE函数有三种参数形式RANGE(to),缺省默认from为1,step为1RANGE(from,to),默认的step为1RANGE(from,to,step),个参数的情况参照上面的注释

示例:

RANGE(4)返回[1,2,3,4].RANGE(-5)返回[].RANGE(-1,3)返回[-1,0,1,2,3].RANGE(0,5)返回[0,1,2,3,4,5].RANGE(6,-1,-2)返回[6,4,2,0].RANGE(4,1,1)返回[].

10.ARRAY

ARRAY(arg1,arg2...):

返回一个由arg1,arg2,...组成的数组。

ar1,ar2,...字符串或者数字。

示例:

ARRAY("hello")=["hello"].ARRAY("hello","world")=["hello","world"].ARRAY("hello",98)=["hello",98].ARRAY(67,98)=[67,98].

报表函数

本章节,凡是以tableName或viewName作为参数因子的。

函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。

1.CLASS

CLASS(object):

返回object对象的所属的类。

2.CNMONEY

CNMONEY(number,unit)返回人民币大写。

number:

需要转换的数值型的数。

unit:

单位,"s","b","q","w","sw","bw","qw","y","sy","by","qy","wy"分别代表“拾”,“佰”,“仟”,“万”,“拾万”,“佰万”,“仟万”,“亿”,“拾亿”,“佰亿”,“仟亿”,“万亿”。

备注:

单位可以为空,如果为空,则直接将number转换为人民币大写,否则先将number与单位的进制相乘,然后再将相乘的结果转换为人民币大写。

示例:

CNMONEY(1200)等于壹仟贰佰圆整。

CNMONEY(12.5,"w")等于壹拾贰万伍仟圆整。

CNMONEY(56.3478,"bw")等于伍仟陆佰叁拾肆万柒仟捌佰圆整。

CNMONEY(3.4567,"y")等于叁亿肆仟伍佰陆拾柒万圆整。

3.COL

COL()返回当前单元格的列号。

示例:

如果当前单元格是A5,在A5中写入"=col()"则返回1。

如果当前单元格是C6,在C6中写入"=col()"则返回3。

4.COLCOUNT

COLCOUNT(tableData):

返回tableData中列的个数。

tableData:

tableData的名字,字符串形式的。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是第一个查找到的tableData中列数。

示例:

以我们提供的数据源FRDemo为例COLCOUNT("Check")等于6。

COLCOUNT("country")等于5。

5.COLNAME

COLNAME(tableData,colIndex)返回的是tableData中列序号colIndex的列名。

tableData:

表示TableData的名字,字符串形式。

colIndex:

表示列序号。

备注:

TableData先从私有数据源中查找,再从公有数据源中查找。

示例:

COLNAME("Check",3)等于AcceName。

COLNAME("country",4)等于Area。

6.EVAL

EVAL(exp):

返回表达式exp计算后的结果。

exp:

一个表达式形式字符串。

备注:

只要EVAL中的参数exp最终可以转化成一表达式形式的字符串,比如"sum(2,4)","2+7"等等,那么它就可以被计算。

示例:

EVAL("2+5")等于7。

EVAL("count(2,3)")等于2。

EVAL("sum"+"(2,3,5)")等于10。

EVAL(IF(true,"sum","count")+"(1,2,3,4)")等于10。

EVAL(IF(false,"sum","count")+"(1,2,3,4)")等于4。

7.FIELDS

FIELDS(connectionName,tableName):

返回tableName这个表中的所有字段名。

示例:

数据库BASE中有个名叫task的表的内容如下:

namestartenda20082009b20092012那么FIELDS("BASE","task")等于[name,start,end]。

8.FORMAT

FORMAT(object,format):

返回object的format格式。

object:

需要被格式化对象,可以是String,数字,Object(常用的有Date,Time)。

format:

格式化的样式。

备注:

此处的格式中大小写必须严格按照上面例子中的规则,月份:

大写MM,年份:

小写yyyy或yy,天份:

小写dd.此处作为参数因子的格式可以用''也可以用""引用。

示例:

Format(TODAY(),'yyyy-MM-dd')结果是2008-11-01

9.INMAP

INMAP(key,value,mapName):

判断数据字典mapName中是否包含键值为key,值为value的数据对。

返回值为布尔型。

有返回TRUE,没有返回FALSE。

key:

检测的key。

value:

检测的value。

mapName:

指定的数据字典名。

备注:

mapName必须为String型的。

示例:

INMAP(1,2,"customerdic")返回Boolean.TRUE(布尔型的)。

10.ISNULL

ISNULL(object):

判断对象中所有的值是否全部都是Primitive.NULL。

11.MAP

MAP(object,string,int,int):

四个参数分别是索引值,数据集的名字,索引值所在列序号,返回值所在列序号。

根据数据集的名字,找到对应的数据集,找到其中索引列的值为key所对应的返回值。

数据集的查找方式是依次从报表数据集找到服务器数据集。

索引列序号与返回值序列号的初始值为1。

示例:

MAP(1001,"employee",1,2)返回employee数据集,第1列中值为1001那条记录中第2列的值。

12.RECORDS

RECORDS(connection,table,field):

返回数据库表table中字段名field下的所有元素。

示例:

数据库BASE中有个名叫task的表的内容如下:

namestartenda20082009b20092012那么RECORDS("BASE","task","end")等于[2009,2012]。

RECORDS(connection,table,field,row)返回table中field字段下的第row行的记录,field可以为列名也可以为列号。

RECORDS("BASE","task","end",2)等于2012.。

RECORDS("BASE","task",2,2)等于2009。

13.REVERSE

REVERSE(value):

返回与value相反的逻辑值。

示例:

REVERSE(true)等于false。

14.ROW

ROW()返回当前单元格的行号,须使用于条件属性中。

示例:

如果当前单元格为A5,在A5中写入"=ROW()"则返回5。

如果当前单元格为B8,在B8中写入"=ROW()"则返回8。

具体示例:

见条件属性专题章节中,条件属性中的Row()函数的内容。

15.ROWCOUNT

ROWCOUNT(tableData)返回tableData的行数。

tableData:

TableData的名字,字符串形式的。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是tableData的行数。

示例:

以我们提供的数据源FRDemo为例ROWCOUNT("Check")等于3。

ROWCOUNT("country")等于18。

16.TABLEDATAFIELDS

TABLEDATAFIELDS(tableData):

返回tableData中所有的字段名。

备注:

先从报表数据集中查找,然后再从服务器数据集中查找,返回的是tableData的列名组成的数组。

示例:

TABLEDATAFIELDS("国家")等于[名字,首都,大陆,面积,人口]

17.TABLEDATES

TABLEDATAS():

返回报表数据集和服务器数据集名字。

示例:

服务器数据集有:

ds1,ds2,ds3;报表数据集有dsr1,dsr2.TABLEDATAS()等于[dsr1,dsr2,ds1,ds2,ds3].而TABLEDATAS(0)返回服务器数据集名字;TABLEDATAS

(1)返回报表数据集名字;TABLEDATAS(0)等于[ds1,ds2,ds3];TABLEDATAS

(1)等于[dsr1,dsr2]。

18.TABLES

TABLEAS(connectionName):

返回名为connectionName的数据库中的所有表名。

示例:

假设在FRDemo这个数据库中,有3个表:

a,b,c;那么TABLES("FRDemo")等于[a,b,c].

19.VALUE

VALUE(tableData,row,col)返回tableData中行号为row,列号为col的值。

tableData:

tableData的名字,字符串形式的。

row:

行号。

col:

列号。

备注:

先从私有数据源中查找,然后再从公有数据源中查找,返回的是tableData的符合条件的值。

示例:

VALUE("country",5,3)等于SouthAmerica。

VALUE("Simple",8,3)等于jonnason。

数组函数

1.ADD2ARRAY

ADDARRAY(array,insertArray,start):

在数组第start个位置插入insertArray中的所有元素,再返回该数组。

示例:

ADDARRAY([3,4,1,5,7],[23,43,22],3)返回[3,4,23,43,22,1,5,7].ADDARRAY([3,4,1,5,7],"测试",3)返回[3,4,"测试",1,5,7].注意:

如果start为小于1的数或者不写start参数,则默认从数组的第一位开始插入数组元素ARRAYARRAY(arg1,arg2...):

返回一个由arg1,arg2,...组成的数组.arg1,arg2,...:

字符串或者数字.示例:

ARRAY("hello")=["hello"].ARRAY("hello","world")=["hello","world"].ARRAY("hello",98)=["hello",98].ARRAY(67,98)=[67,98].

2.GETARRAYELEMENT

GETARRAYELEMENT(array,index):

函数返回数组array的第index个元素。

示例:

String[]array={"a","b","c","d"}GETARRAYELEMENT(array,3)等于c.GETARRAYELEMENT(array,1)等于a.

3.GREPARRAY

GREPARRAY(array,fn):

函数(返回true或者false)是条件,过滤此数组,最后形成一个新数组。

示例:

GREPARRAY([3,4,2,3,6,8,7],"item!

=3")等于[4,2,6,8,7]注意:

该函数的第二个参数是一个字符串。

4.INARRAY

INARRAY(co,array):

返回co在数组array中的位置,如果co不在array中,则返回0.示例:

String[]arr={"a","b","c","d"}那么INARRAY("b",arr)等于2。

5.INDEX

INDEX(key,val1,val2,...):

返回key在val1,val2,...所组成的序列中的位置,不存在于序列中则返回参数的个数.备注:

key和valn可以是任意类型示例:

INDEX(2,2)等于1。

INDEX(2,1,2)等于2。

INDEX(2,4,5,6)等于4。

INDEX("b","b","o","y")等于1。

6.INDEXOFARRAY

INDEXOFARRAY(array,index):

返回数组array的第index个元素。

示例:

INDEXOFARRAY(["第一个","第二个","第三个"],2)返回"第二个"。

7.MAPARRAY

MAPARRAY(array,fn):

把一个数组中的项目转换到另一个数组中。

array(Array):

要转换的数组fn(Function):

处理数组项目的函数示例:

MAPARRAY([3,4,2,3,6,8,7],"item!

=3")等于[false,true,true,false,true,true,true].

8.RANGE

RANGE(from,to,step)函数表示从整数from开始,以step为每一步的示例:

直到整数to的一个数字序列。

备注:

RANGE函数有三种参数形式RANGE(to),缺省默认from为1,step为1RANGE(from,to),默认的step为1RANGE(from,to,step),个参数的情况参照上面的注释示例:

RANGE(4)返回[1,2,3,4].RANGE(-5)返回[].RANGE(-1,3)返回[-1,0,1,2,3].RANGE(0,5)返回[0,1,2,3,4,5].RANGE(6,-1,-2)返回[6,4,2,0].RANGE(4,1,1)返回[].

9.REMOVEARRAY

REMOVEARRAY(array,start,deleteCount):

从数组array中删除从第start个元素开始的deleteCount个数组元素,并返回删除后的数组。

示例:

REMOVEARRAY([3,4,4,2,6,7,87],4,2)返回[3,4,4,7,87]。

10.REVERSEARRAY

REVERSEARRAY(array):

返回数组array的倒序数组。

示例:

REVERSEARRAY(["第一个","第二个","第三个"])返回["第三个","第二个","第一个"]。

11.SLICEARRAY

SLICEARRAY(array,start,end):

返回数组从第start个到第end个元素(包括第end个元素)。

示例:

SLICEARRAY([3,4,4,5,1,5,7],3,6)返回[4,5,1,5]。

当不使用end参数时,返回从start开始到数组结束之间的元素。

SLICEARRAY([3,4,4,5,1,5,7],3)返回[4,5,1,5,7]。

12.SORTARRAY

SORTARRAY(array):

返回数组array排过序的数组。

示例:

SORTARRAY([3,4,4,5,1,5,7])返回[1,3,4,4,5,5,7].注意:

数组array的元素类型必须一样,并且要可比较。

13.UNIQUEARRAY

UNIQUEARRAY(array):

去掉数组array中的重复元素。

示例:

UNIQUEARRAY([14,2,3,4,3,2,5,6,2,7,9,12,3])返回[14,2,3,4,5,6,7,9,12]。

数学和三角函数

1.ABS

ABS(number):

返回指定数字的绝对值。

绝对值是指没有正负符号的数值。

Number:

需要求出绝对值的任意实数。

示例:

ABS(-1.5)等于1.5。

ABS(0)等于0。

ABS(2.5)等于2.5。

2.ACOS

ACOS(number):

返回指定数值的反余弦值。

反余弦值为一个角度,返回角度以弧度形式表示。

Number:

需要返回角度的余弦值。

备注:

函数的参数必须在-1和1之间,包括-1和1。

返回的角度值在0和Pi之间。

如果要把返回的角度用度数来表示,用180/PI()乘返回值即可。

示例:

ACOS

(1)等于0(弧度)。

ACOS(0.5)等于1.047197551(Pi/3弧度)。

ACOSACOSH(0.5)*180/PI()等于60(度)。

ACOSHACOSH(number):

返回给定数值的反双曲余弦。

Number:

返回值的双曲余弦。

备注:

参数number的值必须大于或等于1。

ACOSH(COSH(number))=number。

示例:

ACOSH

(1)等于0。

ACOSH(8)等于2.768659383。

ACOSH(5.5)等于2.389526435。

3.ASIN

ASIN(number):

返回指定数值的反正弦值。

反正弦值为一个角度,返回角度以弧度形式表示。

Number:

需要返回角度的正弦值。

备注:

指定数值必须在-1到1之间(含1与-1)。

返回角度在-pi/2到pi/2之间(含-pi/2与pi/2)。

用角度形式返回数值时,可以用返回数值乘以180/PI()。

示例:

ASIN(0.5)等于0.523598776(pi/6弧度)。

ASIN

(1)等于1.570796327(pi/2弧度)。

ASIN(0.5)*180/PI()等于30(度)。

4.ASINH

A

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1