2024年3月8日发(作者:)

帆软报表常用函数大全——报表函数本文,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。YCNMONEY(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")等于叁亿肆仟伍佰陆拾柒万圆整。()返回当前单元格的列号。示例:如果当前单元格是A5,在A5中写入:

=col()返回1。如果当前单元格是C6,在C6中写入:=col()返回3。NTCOLCOUNT(tableData):返回tableData中列的个数。tableData:tableData的名字,字符串形式的。注:先从私有数据源中查找,然后再从公有数据源中查找,返回的是第一个查找到的tableData中列数。示例:以我们提供的数据源FRDemo为例:新建数据集ds1:SELECT*FROMCUSTOMERCOLCOUNT("ds1")等于6。ECOLNAME(tableData,colIndex)返回的是TableData中列序号colIndex的列名。tableData:表示TableData的名字,字符串形式。colIndex:表示列序号。注:TableData先从私有数据源中查找,再从公有数据源中查找。示例:以我们提供的数据源FRDemo为例:新建数据集ds1:SELECT*FROMCUSTOMERCOLNAME("ds1",3)等于CITY。

FIELDS(connectionName,tableName):返回tableName这个表中的所有字段名。示例:以我们提供的数据源FRDemo为例:FIELDS("FRDemo","CUSTOMER")等于CUSTOMERID,CUSTOMERNAME,CITY,COUNTRY,TEL,(object,string,int,int):四个参数分别是索引值,数据集的名字,索引值所在列序号,返回值所在列序号。提醒:后两个参数也可以写列名代替。根据数据集的名字,找到对应的数据集,找到其中索引列的值为key所对应的返回值。数据集的查找方式是依次从报表数据集找到服务器数据集。索引列序号与返回值序列号的初始值为1示例:MAP(1001,"employee",1,2)返回employee数据集,第1列中值为1001那条记录中第2列的值。MAP(1001,"employee","name","address")返回employee数据集,name列中值为1001那条记录中address列的值。S

RECORDS(connection,table,field):返回数据库表table中字段名field下的所有元素。示例:数据库BASE中有个名叫task的表的内容如下:nameabstart20082009end20092012那么RECORDS("BASE","task","end")等于[2009,2012].RECORDS(connection,table,field,row)返回table中field字段下的第row行的记录,field可以为列名也可以为列号。RECORDS("BASE","task","end",2)等于S("BASE","task",2,2)等于EREVERSE(value):返回与value相反的逻辑值。示例:REVERSE(true)等于false。()返回当前单元格的行号。示例:如果当前单元格为A5,在A5中写入"=ROW()"则返回5。

如果当前单元格为B8,在B8中写入"=ROW()"则返回8。具体示例:见条件属性专题章节中,条件属性中的Row()函数的内容。NTROWCOUNT(tableData)返回TableData的行数。tableData:TableData的名字,字符串形式的。备注:先从私有数据源中查找,然后再从公有数据源中查找,返回的是TableData的行数。示例:以我们提供的数据源FRDemo为例新建数据集ds1:SELECT*FROMCUSTOMERROWCOUNT("ds1")等于20。ATAFIELDSTABLEDATAFIELDS(tableData):返回tableData中所有的字段名。注:先从报表数据集中查找,然后再从服务器数据集中查找,返回的是TableData的列名组成的数组。示例:以我们提供的数据源FRDemo为例新建数据集ds1:SELECT*FROMCUSTOMER

TABLEDATAFIELDS("ds1")等于CUSTOMERID,CUSTOMERAME,CITY,COUNTRY,TEL,DISTRICT。ATASTABLEDATAS():返回报表数据集和服务器数据集名字。示例:服务器数据集有:ds1,ds2,ds3;报表数据集有dsr1,dsr2,则:TABLEDATAS()等于[dsr1,dsr2,ds1,ds2,ds3]。而TABLEDATAS(0)返回服务器数据集名字;TABLEDATAS(1)返回报表数据集名字;TABLEDATAS(0)等于[ds1,ds2,ds3]。TABLEDATAS(1)等于[dsr1,dsr2]。TABLES(connectionName):返回名为connectionName的数据库中的所有表名。示例:假设在FRDemo这个数据库中,有3个表:a,b,c,则:TABLES("FRDemo")等于[a,b,c]。ALUE(tableData,col,row)返回TableData中行号为row,列号为col的值。TableData:TableData的名字,字符串形式的。row:行号。col:列号。注:先从私有数据源中查找,然后再从公有数据源中查找,返回的是TableData的符合条件的值。

示例:VALUE("country",5,3)等于SouthAmerica。VALUE("Simple",8,3)等于jonnason。VALUE(tableData,col)返回tableData中列号为col的一列值。VALUE(tableData,targetCol,orgCol,element)返回tableData中第targetCol列中的元素,这些元素对应的第orgCol列的值为element。示例:tableData:co国家中国中国中国美国美国省份江苏浙江北京纽约新泽西VALUE("co",2,1,"中国")等于["江苏","浙江","北京"]。注:列号也可以写为列名。VALUE(tableData,targetCol,orgCol,element,idx)返回VALUE(tableData,targetCol,orgCol,element)数组的第idx个值。注:idx的值小于0时,会取数组的第一个值,idx的值大于数组长度时,会取数组的最后一个值。