MyReport运算符函数说明文档.docx
《MyReport运算符函数说明文档.docx》由会员分享,可在线阅读,更多相关《MyReport运算符函数说明文档.docx(21页珍藏版)》请在冰豆网上搜索。
![MyReport运算符函数说明文档.docx](https://file1.bdocx.com/fileroot1/2023-2/25/5153657c-6998-4853-ba29-aa85eb4aa7ea/5153657c-6998-4853-ba29-aa85eb4aa7ea1.gif)
MyReport运算符函数说明文档
MyReport运算符函数说明文档
目录
运算符
统计函数
求和:
Sum(field,start,end)
条件求和:
SumIf(field,cond,start,end)
查询数据:
Get(field,cond,start,end)
求平均:
Avg(field,start,end)
条件求平均:
AvgIf(field,cond,start,end)
条件计数:
CountIf(cond,start,end)
最大值:
Max(field,start,end)
最小值:
Min(field,start,end)
流程控制函数
单条件执行:
If(cond,proc_true,proc_false)
分支执行:
Choose(index,proc1,proc2,proc3,…)
多条件执行:
Switch(cond1,proc1,cond2,proc2,cond3,proc3,…)
文本处理函数
输出字符串:
Str(exp)
转成中文大写金额:
CurrencyCN(exp)
数字定点输出:
Fixed(num,digits)
数字前置补零:
Prefixed(num,len)
格式化数字输出:
FormatNum(exp,format)
格式化日期输出:
FormatDate(exp,format)
连接字符串:
Concat(text1,text2,…)
获取字符串长度:
Len(exp)
查找字符串:
Find(text,within,start)
替换字符串:
Replace(text,within,replace)
截断字符串:
Substr(text,start,len)
截断字符串2:
Substr2(text,start,end)
分割字符串:
Split(text,delim)
根据长度分割字符串:
SplitAtLen(text,len)
合并成字符串:
Join(tokens,sep)
小括号(左):
BracketL()
小括号(右):
BracketR()
数学函数
转成数字:
Num(exp)
转成整数:
Int(exp)
绝对值:
Abs(exp)
相反数:
Opp(exp)
随机数:
Rand(min,max)
随机整数:
RandInt(min,max)
获取整数部分位数:
LenInt(exp)
上限值:
Ceil(exp,digits)
下限值:
Floor(exp,digits)
四舍五入:
Round(exp,digits)
控件显示函数
显示图形:
ToImage(exp)
显示子报表:
ToReport(style,table,parameters)
日期函数
创建日期:
Date(year,month,day,hour,minute,second)
获取年份:
Year(date)
获取月份:
Month(date)
获取天数:
Day(date)
数据源函数
创建序列:
Series(field)
获取数组长度:
Len(exp)
杂项函数
空值:
Null()
布尔值真:
True()
布尔值非:
False()
当前页码:
PageNum()
总页数:
TotalPages()
页开始行索引:
PageBeginIndex()
页结束行索引:
PageEndIndex()
总行数:
RowCount()
行索引:
RowIndex()
行号:
RowNumber()
分组索引:
GroupIndex()
分组号:
GroupNumber()
分组行索引:
GroupRowIndex()
分组行号:
GroupRowNumber()
分组开始索引:
GroupStartIndex()
分组结束索引:
GroupEndIndex()
动态列字段:
DynamicField()
动态列文本:
DynamicText()
动态列数据值:
DynamicValue()
当前值:
Val()
运算符
运算符
说明
()
左、右括号
+
加:
exp1+exp2或正号+exp或字符串连接
-
减:
exp1–exp2或负号–exp
*
乘:
exp1*exp2
/
除:
exp1/exp2
%
取余:
exp1%exp2
^
幂运算:
exp1^exp2
==
等于:
exp1==exp2
!
=
不等于:
exp1!
=exp2
>
大于:
exp1>exp2
>=
大于等于:
exp1>=exp2
<
小于:
exp1<=
小于等于:
exp1<=exp2
&&
并且:
exp1&&exp2
||
或者:
exp1||exp2
!
取非:
!
exp
""或''
字符串定义,字符内部不能出现”和’,要用指定的函数输出
#Name
访问当前行字段Name的值
@Name
访问报表参数Name的值
统计函数
求和:
Sum(field,start,end)
说明:
求和。
start,end是可选参数,当没有start,end参数时默认累加所有行。
例子:
Sum(#金额)
Sum(#金额,GroupStartIndex(),GroupEndIndex())
Sum(#金额,0,RowIndex())
Sum(#金额,GroupStartIndex(),GroupStartIndex()+GroupRowIndex())
条件求和:
SumIf(field,cond,start,end)
说明:
统计满足条件的和。
start,end是可选参数,当没有start,end参数时默认累加所有符合条件的行。
例子:
SumIf(#金额,#金额>10)
SumIf(#金额,#金额>10,GroupStartIndex(),GroupEndIndex())
SumIf(#金额,#金额>10,0,RowIndex())
SumIf(#金额,#金额>10,GroupStartIndex(),GroupStartIndex()+GroupRowIndex())
查询数据:
Get(field,cond,start,end)
说明:
查询符合条件cond的第一条数据,并返回field的值。
start,end是可选参数,当没有start,end参数时默认累加所有符合条件的行。
例子:
Get(#金额,#金额>10)
Get(#金额,#金额>10,GroupStartIndex(),GroupEndIndex())
求平均:
Avg(field,start,end)
说明:
求平均。
start,end是可选参数,当没有start,end参数时默认求所有行的平均值。
例子:
Avg(#金额)
Avg(#金额,GroupStartIndex(),GroupEndIndex())
条件求平均:
AvgIf(field,cond,start,end)
说明:
求满足条件的行的平均值。
start,end是可选参数,当没有start,end参数时默认求所有符合条件的行的平均值。
例子:
AvgIf(#金额,#金额>10)
AvgIf(#金额,#金额>10,GroupStartIndex(),GroupEndIndex())
条件计数:
CountIf(cond,start,end)
说明:
统计满足条件的行的数量。
start,end是可选参数,当没有start,end参数时默认统计所有符合条件的行的数量。
例子:
CountIf(#金额>10)
CountIf(#金额>10,GroupStartIndex(),GroupEndIndex())
最大值:
Max(field,start,end)
说明:
统计最大值。
start,end是可选参数,当没有start,end参数时默认统计所有行的最大值。
例子:
Max(#金额)
Max(#金额,,GroupStartIndex(),GroupEndIndex())
最小值:
Min(field,start,end)
说明:
统计最小值。
start,end是可选参数,当没有start,end参数时默认统计所有行的最小值。
例子:
Min(#金额)
Min(#金额,GroupStartIndex(),GroupEndIndex())
流程控制函数
单条件执行:
If(cond,proc_true,proc_false)
说明:
当cond为true时,执行proc_true,否则执行proc_false。
例子:
If(#金额>100,#金额*0.9,#金额)
分支执行:
Choose(index,proc1,proc2,proc3,…)
说明:
根据index的值,执行相应的procN。
index以0开始,procN参数的数量应该与index的取值数量相同。
例子:
Choose(#类型,客户,供货商,其他)
多条件执行:
Switch(cond1,proc1,cond2,proc2,cond3,proc3,…)
说明:
如果condN为true,则执行相对于的procN。
condN,procN参数成对出现。
例子:
=Switch(#数值<=0,Str(),#数值<=1,#数值*80,#数值<=2,#数值*90)
文本处理函数
输出字符串:
Str(exp)
说明:
输出字符串。
一些关键字符可以通过该函数输出。
例子:
Str()
Str(#类型)
Str()
Str('",“<>)
Str(+-*/,())
转成中文大写金额:
CurrencyCN(exp)
说明:
转成中文大写金额。
例子:
CurrencyCN(#金额)
数字定点输出:
Fixed(num,digits)
说明:
输出数字字符串。
digits大于0(零),则将数字四舍五入到指定的小数位;digits等于0,则将数字四舍五入到最接近的整数。
digits小于0,则在小数点左侧进行四舍五入。
digits是可选参数,默认值是0,digits应该在0~20(含)范围内。
例子:
Fixed(#金额,2)
Fixed(#金额,Opp
(2))
数字前置补零:
Prefixed(num,len)
说明:
输出数字字符串,当数字字符串长度小于参数len时前面补零。
len是可选参数。
例子:
Prefixed(#月份,2)
格式化数字输出:
FormatNum(exp,format)
说明:
输出格式化字符串。
format的取值:
保留n位小数:
fn,例如:
f0,f2
金额保留n位小数:
cn,例如:
c2
千分符保留n位小数:
#,#n,例如:
Str(#,#2)
金额千分符保留n位小数:
c#,#n,例如:
Str(c#,#2)
最多保留n位小数:
0.####,任意个#
百分比保留n位小数:
pn,例如:
p0,p1
例子:
FormatNum(#金额,c2)
格式化日期输出:
FormatDate(exp,format)
说明:
输出格式化字符串。
format的取值:
日期(yyyy年MM月dd日):
Str(d)
日期(yyyy-MM-dd):
Str(yyyy-MM-dd)
日期(yyyy-MM-ddHH:
mm:
ss):
Str(yyyy-MM-ddHH:
mm:
ss)
日期(yyyyMMdd):
Str(yyyyMMdd)
日期(yyyyMMddHHmmss):
Str(yyyyMMddHHmmss)
例子:
FormatDate(#日期,Str(d))
连接字符串:
Concat(text1,text2,…)
说明:
连接多个字符串。
例子:
Concat(#商品,Str(),#规格)
获取字符串长度:
Len(exp)
说明:
获取字符串长度。
例子:
Len(#类型)
查找字符串:
Find(text,within,start)
说明:
查找字符串。
start是可选参数,没有start时默认从0索引出开始查找。
例子:
Find(#备注,货款)
替换字符串:
Replace(text,within,replace)
说明:
替换字符串。
例子:
Replace(#备注,货款,Str())
截断字符串:
Substr(text,start,len)
说明:
截断字符串。
len是可选参数,没有len时默认截断到字符串最后。
例子:
Substr(#备注,0,2)
截断字符串2:
Substr2(text,start,end)
说明:
截断字符串。
end是可选参数,没有end时默认截断到字符串最后。
例子:
Substr2(#备注,0,2)
分割字符串:
Split(text,delim)
说明:
分割字符串。
例子:
Split(#备注,'/')
根据长度分割字符串:
SplitAtLen(text,len)
说明:
根据长度len分割字符串。
例子:
SplitAtLen(#备注,4)
合并成字符串:
Join(tokens,sep)
说明:
合并成字符串。
sep是可选参数,默认是空字符串。
例子:
Join(Split(#备注,'/'))
小括号(左):
BracketL()
说明:
输出左小括号。
小括号是表达式关键字,不能直接使用,要使用该函数输出。
例子:
BracketL()
小括号(右):
BracketR()
说明:
输出右小括号。
小括号是表达式关键字,不能直接使用,要使用该函数输出。
例子:
BracketR()
数学函数
转成数字:
Num(exp)
说明:
转成数字。
例子:
Num(#类型)
转成整数:
Int(exp)
说明:
转成整数。
例子:
Int(#类型)
绝对值:
Abs(exp)
说明:
获取数字绝对值。
例子:
Abs(#金额)
相反数:
Opp(exp)
说明:
获取数字的相反数。
例子:
Opp(#金额)
随机数:
Rand(min,max)
说明:
返回大于等于min,小于max的随机数。
min,max是可选参数,没有时默认返回大于等于0,小于1的随机数。
例子:
Rand()
Rand(0,10)
随机整数:
RandInt(min,max)
说明:
返回大于等于min,小于max的随机整数。
min,max是可选参数,没有时默认返回大于等于0,小于1的随机整数。
例子:
RandInt()
RandInt(0,10)
获取整数部分位数:
LenInt(exp)
说明:
获取数字的整数部分位数。
例子:
LenInt(#金额)
上限值:
Ceil(exp,digits)
说明:
获取数字的上限值。
数字的上限值是大于等于该数字的最接近的整数。
digits大于0(零),则将数字取上限值到指定的小数位;digits等于0,则将数字取上限值到最接近的整数。
digits小于0,则在小数点左侧进行取上限值。
digits是可选参数,默认值是0,digits应该在0~20(含)范围内。
例子:
Ceil(#金额)
Ceil(#金额,2)
Ceil(#金额,Opp
(2))
下限值:
Floor(exp,digits)
说明:
获取数字的下限值。
数字的下限值是小于等于指定数字最接近的整数。
digits大于0(零),则将数字取下限值到指定的小数位;digits等于0,则将数字取下限值到最接近的整数。
digits小于0,则在小数点左侧进行取下限值。
digits是可选参数,默认值是0,digits应该在0~20(含)范围内。
例子:
Floor(#金额)
Floor(#金额,2)
Floor(#金额,Opp
(2))
四舍五入:
Round(exp,digits)
说明:
获取数字的四舍五入数值。
digits大于0(零),则将数字四舍五入到指定的小数位;digits等于0,则将数字四舍五入到最接近的整数。
digits小于0,则在小数点左侧进行四舍五入。
digits是可选参数,默认值是0,digits应该在0~20(含)范围内。
例子:
Round(#金额)
Round(#金额,2)
Round(#金额,Opp
(2))
控件显示函数
显示图形:
ToImage(exp)
说明:
显示图形。
例子:
ToImage(#图形)
显示子报表:
ToReport(style,table,parameters)
说明:
显示子报表。
parameters是可选参数,默认为空。
例子:
ToReport(@报表样式,#子表格)
日期函数
创建日期:
Date(year,month,day,hour,minute,second)
说明:
创建日期。
year,month,day,hour,minute,second是可选参数,没有上述参数时返回当前系统日期时间。
例子:
Date()
Date(2011,1,1)
Date(2011,1,1,23,59,59)
获取年份:
Year(date)
说明:
获取年份。
date是可选参数,默认返回当前系统日期年份。
例子:
Year()
Year("2011-1-1")
Year(#日期)
获取月份:
Month(date)
说明:
创建日期。
date是可选参数,默认返回当前系统日期月份。
例子:
Month()
Month("2011-1-1")
Month(#日期)
获取天数:
Day(date)
说明:
创建日期。
date是可选参数,默认返回当前系统日期天数。
例子:
Day()
Day("2011-1-1")
Day(#日期)
数据源函数
创建序列:
Series(field)
说明:
根据表格字段field创建并返回序列。
一般用于图表数据源。
例子:
Series(#名称)
获取数组长度:
Len(exp)
说明:
获取数组长度。
例子:
Len(@数组)
杂项函数
空值:
Null()
说明:
返回空值。
例子:
Null()
布尔值真:
True()
说明:
返回布尔值true。
例子:
True()
布尔值非:
False()
说明:
返回布尔值false。
例子:
False()
当前页码:
PageNum()
说明:
获取当前页码。
例子:
PageNum()
总页数:
TotalPages()
说明:
获取总页数。
例子:
TotalPages()
页开始行索引:
PageBeginIndex()
说明:
获取当前页的开始行索引。
例子:
PageBeginIndex()
页结束行索引:
PageEndIndex()
说明:
获取当前页的结束行索引。
例子:
PageEndIndex()
总行数:
RowCount()
说明:
获取当前表格总行数。
例子:
RowCount()
行索引:
RowIndex()
说明:
获取当前行索引。
例子:
RowIndex()
行号:
RowNumber()
说明:
获取当前行号。
例子:
RowNumber()
分组索引:
GroupIndex()
说明:
获取当前分组索引。
例子:
GroupIndex()
分组号:
GroupNumber()
说明:
获取当前分组号。
例子:
GroupNumber()
分组行索引:
GroupRowIndex()
说明:
获取当前分组行索引。
例子:
GroupRowIndex()
分组行号:
GroupRowNumber()
说明:
获取当前分组行号。
例子:
GroupRowNumber()
分组开始索引:
GroupStartIndex()
说明:
获取当前分组开始索引。
例子:
GroupStartIndex()
分组结束索引:
GroupEndIndex()
说明:
获取当前分组结束索引。
例子:
GroupEndIndex()
动态列字段:
DynamicField()
说明:
访问当前动态列的字段名称。
例子:
DynamicField()
动态列文本:
DynamicText()
说明:
访问当前动态列的显示文本,用于列头文本显示。
例子:
DynamicField()
动态列数据值:
DynamicValue()
说明:
访问当前行当前动态列的数据值,用于表主体获取数据。
例子:
DynamicValue()
当前值:
Val()
说明:
获取当前值。
例子:
Val()