MyReport运算符函数说明文档

    技术2025-08-18  17

    MyReport运算符函数说明文档

    运算符

    运算符

    说明

    ( )

    左、右括号

    +

    加:exp1 + exp2正号 +exp

    -

    减:exp1 – exp2负号–exp

    *

    乘:exp1 * exp2

    /

    除:exp1 / exp2

    %

    取余:exp1 % exp2

    ^

    运算:exp1 ^ exp2

    ==

    等于:exp1 == exp2

    !=

    不等于:exp1 != exp2

    大于:exp1 > exp2

    >=

    大于等于:exp1 >= exp2

    小于:exp1 < exp2

    <=

    小于等于:exp1 <= exp2

    &&

    并且:exp1 && exp2

    ||

    或者:exp1 || exp2

    !

    取非:!exp

    ""''

    字符串定义

     

    统计函数

    求和:Sum(field, start, end)

    说明:求和。startend是可选参数,当没有startend参数时默认累加所有行。

    例子:

    Sum(Fields!金额.Value)

    Sum(Fields!金额.Value,GroupStartIndex(),GroupEndIndex())

    Sum(Fields!金额.Value,0,RowIndex())

    Sum(Fields!金额.Value,GroupStartIndex(),GroupStartIndex()+GroupRowIndex())

     

    条件求和:SumIf(field,cond,start, end)

    说明:统计满足条件的startend是可选参数,当没有startend参数时默认累加所有符合条件的行。

    例子:

    SumIf(Fields!金额.Value, Fields!金额.Value>10)

    SumIf(Fields!金额.Value, Fields!金额.Value>10,GroupStartIndex(),GroupEndIndex())

    SumIf(Fields!金额.Value, Fields!金额.Value>10,0,RowIndex())

    SumIf(Fields!金额.Value, Fields!金额.Value>10,GroupStartIndex(),GroupStartIndex()+GroupRowIndex())

     

    求平均:Avg(field, start, end)

    说明:求平均。startend是可选参数,当没有startend参数时默认求所有行的平均值。

    例子:

    Avg(Fields!金额.Value)

    Avg(Fields!金额.Value,GroupStartIndex(),GroupEndIndex())

     

    条件求平均:AvgIf(field,cond,start, end)

    说明:求满足条件的行的平均值。startend是可选参数,当没有startend参数时默认求所有符合条件的行的平均值。

    例子:

    AvgIf(Fields!金额.Value, Fields!金额.Value>10)

    AvgIf(Fields!金额.Value, Fields!金额.Value>10,GroupStartIndex(),GroupEndIndex())

     

    条件计数:CountIf(cond, start, end)

    说明:统计满足条件的行的数量。startend是可选参数,当没有startend参数时默认统计所有符合条件的行的数量。

    例子:

    CountIf(Fields!金额.Value>10)

    CountIf(Fields!金额.Value>10,GroupStartIndex(),GroupEndIndex())

     

    最大值:Max(field, start, end)

    说明:统计最大值。startend是可选参数,当没有startend参数时默认统计所有行的最大值。

    例子:

    Max(Fields!金额.Value)

    Max(Fields!金额.Value,,GroupStartIndex(),GroupEndIndex())

     

    最小值:Min(field, start, end)

    说明:统计最小值。startend是可选参数,当没有startend参数时默认统计所有行的最小值。

    例子:

    Min(Fields!金额.Value)

    Min(Fields!金额.Value,GroupStartIndex(),GroupEndIndex())

     

    流程控制函数

    单条件执行:If(cond,proc_true, proc_false)

    说明:condtrue时,执行proc_true,否则执行proc_false

    例子:

    If(Fields!金额.Value>100, Fields!金额.Value*0.9, Fields!金额.Value)

     

    分支执行:Choose(index, proc1, proc2, proc3, …)

    说明:根据index的值,执行相应的procNindex0开始,procN参数的数量应该与index的取值数量相同。

    例子:

    Choose(Fields!类型.Value,客户,供货商,其他)

     

    多条件执行:Switch(cond1, proc1, cond2, proc2, cond3, proc3, …)

    说明:如果condNtrue,则执行相对于的procNcondNprocN参数成对出现。

    例子:

    =Switch(Fields!数值.Value<=0,Str(),Fields!数值.Value<=1,Fields!数值.Value*80,Fields!数值.Value<=2,Fields!数值.Value*90)

     

    文本处理函数

    输出字符串:Str(exp)

    说明:输出字符串。一些关键字符可以通过该函数输出。

    例子:

    Str()

    Str(Fields!类型.Value)

    Str(   )

    Str( ,“<> )

    Str(+-*/,())

     

    转成中文大写金额:CurrencyCN(exp)

    说明:转成中文大写金额。

    例子:CurrencyCN(Fields!金额.Value)

     

    数字定点输出:Fixed(num, digits)

    说明:输出数字字符串。digits大于 0(零),则将数字四舍五入到指定的小数位;digits等于 0,则将数字四舍五入到最接近的整数。digits小于 0,则在小数点左侧进行四舍五入。digits是可选参数,默认值是0digits应该在0~20()范围内。

    例子:

    Fixed(Fields!金额.Value,2)

    Fixed(Fields!金额.Value,Opp(2))

     

    数字前置补零:Prefixed(num,len)

    说明:输出数字字符串,当数字字符串长度小于参数len时前面补零。len是可选参数。

    例子:Prefixed(Fields!月份.Value,2)

     

    格式化数字输出:FormatNum(exp, format)

    说明:输出格式化字符串。

    format的取值:

    保留n位小数:fn,例如:f0f2

    金额保留n位小数:cn,例如:c2

    最多保留n位小数: 0.####,任意#

    百分比保留n位小数:pn,例如: p0p1

    例子:

    FormatNum(Fields!金额.Value, c2)

     

    格式化日期输出:FormatDate(exp, format)

    说明:输出格式化字符串。

    format的取值:

    日期(yyyyMMdd)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(Fields!日期.Value,Str(d))

     

    连接字符串:Concat(text1, text2, …)

    说明:连接多个字符串。

    例子:Concat(Fields!商品.Value,Str(   ),Fields!规格.Value)

     

    获取字符串长度:Len(exp)

    说明:获取字符串长度。

    例子:Len(Fields!类型.Value)

     

    查找字符串:Find(text, within, start)

    说明:查找字符串。start是可选参数,没有start时默认从0索引出开始查找。

    例子:Find(Fields!备注.Value,货款)

     

    替换字符串:Replace(text, within, replace)

    说明:替换字符串。

    例子:Replace(Fields!备注.Value,货款,Str())

     

    截断字符串:Substr(text, start, len)

    说明:截断字符串。len是可选参数,没有len时默认截断到字符串最后。

    例子:Substr(Fields!备注.Value,0,2)

     

    截断字符串2Substr2(text, start, end)

    说明:截断字符串。end是可选参数,没有end时默认截断到字符串最后。

    例子:Substr2(Fields!备注.Value,0,2)

     

    分割字符串:Split(text,delim)

    说明:分割字符串。

    例子:

    Split(Fields!备注.Value, ‘/’)

     

    根据长度分割字符串:SplitAtLen(text,len)

    说明:根据长度len分割字符串。

    例子:

    SplitAtLen(Fields!备注.Value, 4)

     

    合并成字符串:Join(tokens, sep)

    说明:合并成字符串。sep是可选参数,默认是空字符串。

    例子:

    Join(Split(Fields!备注.Value, ’/’))

     

    数学函数

    转成数字:Num(exp)

    说明:转成数字。

    例子:Num(Fields!类型.Value)

     

    绝对值:Abs(exp)

    说明:获取数字绝对值。

    例子:Abs(Fields!金额.Value)

     

    相反数:Opp(exp)

    说明:获取数字的相反数。

    例子:Opp(Fields!金额.Value)

     

    随机数:Rand(min, max)

    说明:返回大于等于min,小于max的随机数。minmax是可选参数,没有时默认返回大于等于0,小于1的随机数。

    例子:

    Rand()

    Rand(0,10)

     

    随机整数:RandInt(min, max)

    说明:返回大于等于min,小于max的随机整数。minmax是可选参数,没有时默认返回大于等于0,小于1的随机整数。

    例子:

    RandInt()

    RandInt(0,10)

     

    获取整数部分位数:LenInt(exp)

    说明:获取数字的整数部分位数。

    例子:LenInt(Fields!金额.Value)

     

    上限值:Ceil(exp, digits)

    说明:获取数字的上限值。数字的上限值是大于等于该数字的最接近的整数。digits大于 0(零),则将数字取上限值到指定的小数位;digits等于 0,则将数字取上限值到最接近的整数。digits小于 0,则在小数点左侧进行取上限值。digits是可选参数,默认值是0digits应该在0~20()范围内。

    例子:

    Ceil(Fields!金额.Value)

    Ceil(Fields!金额.Value, 2)

    Ceil(Fields!金额.Value,Opp(2))

     

    下限值:Floor(exp, digits)

    说明:获取数字的下限值。数字的下限值是小于等于指定数字最接近的整数。digits大于 0(零),则将数字取下限值到指定的小数位;digits等于 0,则将数字取下限值到最接近的整数。digits小于 0,则在小数点左侧进行取下限值。digits是可选参数,默认值是0digits应该在0~20()范围内。

    例子:

    Floor(Fields!金额.Value)

    Floor(Fields!金额.Value, 2)

    Floor(Fields!金额.Value,Opp(2))

     

    四舍五入:Round(exp, digits)

    说明:获取数字的四舍五入数值。digits大于 0(零),则将数字四舍五入到指定的小数位;digits等于 0,则将数字四舍五入到最接近的整数。digits小于 0,则在小数点左侧进行四舍五入。digits是可选参数,默认值是0digits应该在0~20()范围内。

    例子:

    Round(Fields!金额.Value)

    Round(Fields!金额.Value, 2)

    Round(Fields!金额.Value,Opp(2))

     

    控件显示函数

    显示图形:ToImage(exp)

    说明:显示图形。

    例子:ToImage(Fields!图形.Value)

     

    显示一维码(Code128B)ToCode128B(exp)

    说明:显示一维码(Code128B)

    例子:ToCode128B(Fields!一维码.Value)

     

    显示一维码(EAN8)ToEAN8(exp)

    说明:显示一维码(EAN8)

    例子:ToEAN8(Fields!一维码.Value)

     

    显示一维码(EAN13)ToEAN13(exp)

    说明:显示一维码(EAN13)

    例子:ToEAN13(Fields!一维码.Value)

     

    显示子报表:ToReport(style, table, parameters)

    说明:显示子报表。parameters是可选参数,默认为空。

    例子:ToReport(Parameters!报表样式.Value, Fields!子表格.Value)

     

    日期函数

    创建日期:Date(year, month, day, hour, minute, second)

    说明:创建日期。yearmonthdayhourminutesecond是可选参数,没有上述参数时返回当前系统日期时间。

    例子:

    Date()

    Date(2011,1,1)

    Date(2011,1,1,23,59,59)

     

    获取年份:Year(date)

    说明:获取年份。date是可选参数,默认返回当前系统日期年份。

    例子:

    Year()

    Year(“2011-1-1”)

    Year(Fields!日期.Value)

     

    获取月份:Month(date)

    说明:创建日期。date是可选参数,默认返回当前系统日期月份。

    例子:

    Month()

    Month(“2011-1-1”)

    Month(Fields!日期.Value)

     

    获取天数:Day(date)

    说明:创建日期。date是可选参数,默认返回当前系统日期天数。

    例子:

    Day()

    Day(“2011-1-1”)

    Day(Fields!日期.Value)

     

    数据源函数

    创建序列:Series(field)

    说明:根据表格字段field创建并返回序列。一般用于图表数据源。

    例子:

    Series(Field!Name.Value)

     

    杂项函数

    空值:Null()

    说明:返回空值。

    例子:

    Null()

     

    布尔值真:True()

    说明:返回布尔值true

    例子:

    True()

     

    布尔值非:False()

    说明:返回布尔值false

    例子:

    False()

     

    取非:Not(exp)

    说明:取非。与运算符“!”等价。

    例子:

    Not(12)

    Not(Fields!数量.Value<=0)

     

    总行数:RowCount()

    说明:获取当前表格总行数。

    例子:RowCount()

     

    行索引:RowIndex()

    说明:获取当前行索引。

    例子:RowIndex()

     

    行号:RowNumber()

    说明:获取当前行号。

    例子:RowNumber()

     

    分组索引:GroupIndex()

    说明:获取当前分组索引。

    例子:GroupIndex()

     

    分组号:GroupNumber()

    说明:获取当前分组号。

    例子:GroupNumber()

     

    分组行索引:GroupRowIndex()

    说明:获取当前分组行索引。

    例子:GroupRowIndex()

     

    分组行号:GroupRowNumber()

    说明:获取当前分组行号。

    例子:GroupRowNumber()

     

    分组开始索引:GroupStartIndex()

    说明:获取当前分组开始索引。

    例子:GroupStartIndex()

     

    分组结束索引:GroupEndIndex()

    说明:获取当前分组结束索引。

    例子:GroupEndIndex()

     

    当前值:Val()

    说明:获取当前值。

    例子:Val()

     

     

    相关文章

    MyReport专栏

    最新回复(0)