注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对可扩展单元格或集合表达式求平均值
语法:avg(expression{,isContainNull})
参数说明:
举例说明:
函数说明:报表总配平函数
语法:balance(cells_list, total_value {, balance_unit})
参数说明:
举例说明:
函数说明:执行存储过程,返回结果数据集合,只能返回单列数据,如果存储过程返回多个字段,则返回第一个字段的结果值
语法:call([dataSourceName,]sqlStatement{,arg1{,arg2{,arg3{,……}}}})
参数说明:
如果你的存储过程是将结果集返回给一个输出参数,这个时候,如果你的数据库正好是oracle,则还需要将这个输出参数的结果类型设置为“游标”。
举例说明:
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:根据布尔表达式的不同计算结果,返回不同的值。本函数从左到右计算,先出现的布尔表达式先算,如果出现为true的表达式,则返回相应的结果,后面的不再计算。如果没有一个布尔表达式为true,而且有缺省值表达式,则返回缺省值,否则返回null
语法:case(boolExp1,valueExp1{,boolExp2,valueExp2 {,boolExp3,valueExp3 {,…… {defaultExp}}}})
参数说明:
举例说明:
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对可扩展单元格或集合表达式进行计数
语法:count(expression{,filterExp})
参数说明:
expression 需要被计数的单元格或表达式,一般为可扩展单元格或集合表达式
filterExp 过滤条件表达式,使用@item关键字代表集合中的条目
支持填报报表单元格自动计算
举例说明:
函数说明:自定义单元格函数
语法:customcell(implclass{,param1,param2,param3...})
参数说明:
implclass 自定义单元格实现类的全路径
param1 参数1
param2 参数2
param3 参数3
举例说明:
例1:customcell("bios.report.user.demo.cell.MyChartCell","bar","柱状图","城市","销售额",a3{},b2+"年",b3{}) 表示调用MyChartCell这个类实现柱状图,X轴的标题为城市,Y轴的标题为销售额,分类轴为a3{},系列名为b2+"年",y轴数据集合为b3{}。
函数说明:按名称取得数据集对象,本函数用于动态改变表达式的数据集对象,用法很灵活,但是性能较低,须慎用。
语法:ds( stringExp )
参数说明:stringExp 数据集的名称
返回值:数据集对象
说明: 本函数的返回值是表达式的一个元素,不能作为单元格的数据值,必须经过二次运算。
举例说明:例1:ds("ds1").select(#0) 表示取出ds1数据集中的记录行号集合
函数说明:合并多个数据集,参与合并的多个数据集必须结构一致、列名一致。
语法:dsunion(dsname1,dsname2{,dsname3,……},newdsname)
参数说明:
dsname1 参与合并的第一个数据集。
dsname2 参与合并的第二个数据集。
……
newdsname 合并后新数据集的名称。
备注:至少要有两个参与合并的数据集。
举例说明:例1:dsunion(ds1,ds2,ds),用ds可以直接取ds1和ds2数据集中的字段。
注:该函数支持填报报表单元格自动计算
函数说明:动态解释并计算表达式
语法:eval(stringExp)
参数说明:stringExp 待计算的表达式字符串
返回类型:表达式的结果集,数据类型由表达式决定
举例说明:
函数说明:获取文件附件单元格中, 用户上传的文件数据流, 在填报操作中使用
语法:filedata( cellId, dataType )
参数说明:
cellId 文件附件单元格的ID
dataType 数据流的类型, 可选值为'blob','clob','bytes', 根据数据库字段选择
返回类型:文件数据, 用于大字段保存
举例说明:例1:filedata(B3, 'bytes'),返回附件单元格B3的上传文件的bytes类型的数据流
函数说明:获取文件附件单元格中, 上传文件的保存名称, 在填报操作中使用
语法:filename( cellId )
参数说明:cellId 文件附件单元格的ID
返回类型:文件名称, 用于数据库保存
举例说明:例1:filename(B3),返回附件单元格B3的上传文件的名称
函数说明:获取文件附件单元格中, 上传文件的保存路径, 在填报操作中使用
语法:filepath( cellId )
参数说明:cellId 文件附件单元格的ID
返回类型:文件路径, 用于数据库保存
举例说明:例1:filepath(B3),返回附件单元格B3的上传文件的路径
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:根据布尔表达式的不同结果,返回不同的值
语法:if(boolExp, trueValueExp, falseValueExp)
参数说明:
boolExp 结果为布尔类型的表达式
trueValueExp 布尔表达式为真时,返回本参数的计算结果,本参数可以是常数或表达式
falseValueExp 布尔表达式为假时,返回本参数的计算结果,本参数可以是常数或表达式
举例说明:例1:if(@value='1','男','女'),如果条件“@value='1'”成立,则显示“男”,如果不成立,显示“女”。
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:获得一个枚举的数据集合
语法:list(valueExp1{,valueExp2{,valueExp3{,……}}})
参数说明:valueExp(n) 可以是字符型数据,整型数据,浮点型数据,布尔型数据或表达式
举例说明:
函数说明:计算一个值在一个完全划分中的位置
语法:loc( valueExp, ListExp{, eqExp}{, ascExp} )
参数说明:
valueExp 返回值的表达式,值可以是字符串、数值、日期、时间等
ListExp 返回同valueExp数据类型相同的数组,要求其中元素按序排列,排列顺序由ascExp指定
eqExp 匹配条件表达式,返回布尔值的表达式,缺省为false,为false表示与ListExp元素比较时不包含等于
ascExp 排序表达式,返回布尔值的表达式,缺省为true,即表示ListExp中元素从小到大排列,否则为从大到小排列
举例说明:
备注:划分是指将一个集合划分成几个集合,如数组{0,10,100}在eqExp返回false的情况下,将整数集或实数集划分成4个集合,依次分别是<0、<10(此集合中元素必定>=0)、<100(此集合中元素必定>=10)及其它(即>=100);在eqExp返回true的情况下将整数集或实数集划分成4个集合,分别是<=0、<=10(且>0)、<=100(且>10)及其它(即>100);对于数组{100,10,0},eqExp为false时也划分成4个集合,分别为>100,>10(且<=100), >0(且<=10)及其它(即<=0); eqExp为true时则为>=100,>=10(且<100),>=0(且<10)及其它(即<0)
函数说明:表间取数函数,从其他报表中获取数据
语法:lookup(subrpt, cellId)
参数说明:
subrpt 要从中取数的其他报表,使用subreport()函数获取
cellId 要取值的单元格的唯一标识
举例说明:例1:lookup(subreport('Demo/test.brt'),'a') 获取Demo文件夹下名为test的报表中标识符为a的单元格的值
函数说明:显示值对照表函数,从对照表中找出当前单元格对应值的显示值,没有则返回null
语法:map(valueListExp, displayListExp)
参数说明:
valueListExp 真实值列表,可以是可扩展单元格或结果为集合列表的表达式
displayListExp 显示值列表,可以是可扩展单元格或结果为集合列表的表达式
真实值列表和显示值列表一一对应
举例说明:例1:map(list('1', '2'),list('男','女')),当值为1时,显示为“男”,当值为2时,显示为“女”。
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对可扩展单元格或集合表达式求最大值
语法:max(expression)
参数说明:expression 需要求最大值的单元格或表达式,一般为可扩展单元格或集合表达式
举例说明:
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对可扩展单元格或集合表达式求最小值
语法:min(expression)
参数说明:expression:需要求最小值的单元格或表达式,一般为可扩展单元格或集合表达式
举例说明:
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:判断第一个表达式的值是否为空,若为空则返回指定值
语法:nvl( valueExp1, valueExp2 )
参数说明:
valueExp1 需要计算的表达式,其结果不为空时返回其值
valueExp2 需要计算的表达式,当valueExp1结果为空时返回此值
返回值:valueExp1或valueExp2的结果值
举例说明:
函数说明:执行sql语句,返回结果数据集合,只能返回单列数据,如果sql语句中有多个字段,则返回第一个字段的结果值
语法:query([dataSourceName,]sqlStatement{,arg1{,arg2{,arg3{,……}}}})
参数说明:
dataSourceName 多数据源时,需要指定数据源名称
sqlStatement 合法的sql语句
arg(n) sql语句的参数,可以是常数也可以是表达式
举例说明:
函数说明:获取给定值在一个列表中的排名
语法:rank(valueExp, listExp{,desc})
参数说明:
valueExp 要计算排名的值表达式
listExp 值列表表达式
desc 排名方式,true表示降序排列(从大到小),false表示升序排列(从小到大)
举例说明:例1:rank(C3,C3[A3]{},true) ,c3为要排名的数据,C3[A3]表示C3按A3进行排名,并降序排序。
函数说明:取得当前单元格所在列的行号;此函数只能在select、group等扩展函数之后使用,否则取出的行号可能不正确。
语法:row()
参数说明:无
返回值:整数
当row函数所在单元格在分组函数之后时,就把row()表达式写在单元格属性显示值里。
函数说明:对数组进行排行
语法:sort(arrayExp{,boolExp})
参数说明:
arrayExp 数组表达式,例如group、select、list等函数
boolExp 布尔表达式,true表示升序,否则降序(默认为false)
举例说明:
函数说明: 从一个集合中根据条件获取一个子集出来
语法:
语法1:subList(initList,fromPos{,toPos})
语法2: subList(initList,indexList{,include})
参数说明:
initList 集合类型,源列表
fromPos 整数类型,子列表的起始位置,从0开始,包含该位置
indexList 整数集合类型,位置列表
include 布尔类型,为true时包含位置列表中的数据,为false时排除位置列表中的数据;默认为true
返回值:集合类型,截取的子列表
举例说明:
函数说明:子报表函数
语法:subreport(filepath{,params{,vars}})
参数说明:
filepath 报表模板相对路径或ID
params 报表参数,字符串类型(param1=value1;param2=value2)
vars 报表变量,字符串类型(var1=value1;var2=value2)
举例说明:例1:subreport('Demo/test.brt',‘id=’+A3+';name='+A4,'sql='+B2) 表示子报表的路径为Demo文件夹下test.brt 传的参数为id=A3单元格的值和name=A4的单元格的值,传的变量为sql=B2单元格的值
注:该函数支持excel公式导出、支持填报报表单元格自动计算
函数说明:对可扩展单元格或集合表达式进行求和
语法:sum(expression,filterExp)
参数说明:
expression 需要被求和的单元格或表达式,一般为可扩展单元格或集合表达式
filterExp 过滤条件表达式,使用@item关键字代表集合中的条目
举例说明:
函数说明:获取一个UUID,可以在填报表中用来创建数据ID
语法:uuid() 或 uuid(sep)
参数说明:sep 布尔值,生成的uuid中是否包含分隔符'-',缺省为true
举例说明:
函数说明:数组去重(取重)函数,生成一组只有唯一值的数组
语法:uniquelist(initList{,rtnType})
参数说明:
initList 原始集合(数组、字符串组等)
rtnType 返回类型,如果为true,则返回去除重复元素后的集合,如果为false,则返回由重复元素组成的集合;默认为true
举例说明:
函数说明:序列生成函数,生成一组整数序列、字符序列或日期序列
语法:zone(from, to{,isStrict})
参数说明:
from 开始的数值、字母或日期(如果参数是日期时间,会忽略时间,仅仅当作日期来处理)
to 结束的数值、字母或日期(如果参数是日期时间,会忽略时间,仅仅当作日期来处理)
isStrict 是否严格排序模式。在严格模式下,序列一定是从from到to排列的;在宽松模式下,序列是从小到大排列的;不设置该值的话,是宽松模式(即:默认是false)
举例说明: