NCIUFO报表公式语法规则.docx
《NCIUFO报表公式语法规则.docx》由会员分享,可在线阅读,更多相关《NCIUFO报表公式语法规则.docx(17页珍藏版)》请在冰豆网上搜索。
![NCIUFO报表公式语法规则.docx](https://file1.bdocx.com/fileroot1/2022-10/10/b0e6ab5f-7b4c-43a4-b246-8345d578d204/b0e6ab5f-7b4c-43a4-b246-8345d578d2041.gif)
NCIUFO报表公式语法规则
公式语法规则和常用函数说明
一、元素表示
1、如何表示指标
指标用指标名+一对方括号表示,如[利润]、[成本]。
2、如何表示关键字
关键字用关键字名+一对花括号括号表示,如{年}、{月}、{单位编码}。
二、表达式
1、算术表达式
由指标、关键字、常数、函数、算术运算符组成的计算序列。
计算的结果为确定值。
<算术表达式>:
:
=<表达式因子><算术运算符><表达式因子>
<表达式因子>:
:
=<指标>|<关键字>|<数值>|<字符串>|<函数>|'('<算术表达式>')'
<算术运算符>='+'|'-'|'*'|'/'
*字符串可以用单引号或双引号括起
2、逻辑表达式
由算术表达式、比较运算符、逻辑运算符组成的计算序列
<逻辑表达式>:
:
=<逻辑表达式因子><逻辑运算符><逻辑表达式因子>
<逻辑表达式因子>=(<算术表达式><比较运算符><算术表达式>)|'('<逻辑表达式>')'
<比较运算符>='='|'>'|'>='|'<'|'<='|'<>'|'LIKE'
<逻辑运算符>='AND'|'OR'
3、函数及参数使用说明
函数基本格式:
函数名(参数)
不同名称的函数具有不同的作用。
函数的参数,根据所用函数不同,参数的个数与参数值的类型要求不同,具体可查看各个函数的帮助说明。
函数分类:
关键字函数、指标函数、数学函数、字符函数、日期函数、条件函数、业务处理函数等。
说明:
1)函数名不区分大小写;
2)在iUFO中取数时,建议参数都用引号引起来。
否则当参数值过长时,会
取不到数。
3)函数中的各参数之间用逗号分隔,即使参数为空,其对应的逗号仍不能省略。
三、通配符
在对字符串的逻辑表达式中,也可以使用'LIKE'运算符并配合通配字符来进行模糊比较运算。
以下是可以使用的通配字符:
%:
0/多个字符,如'AB%'表示"AB"后接任何字符的字符串,AB、AB34\
_:
单个字符,如'_AB'表示"AB"之前为任意字符,iAB,2AB
在用作筛选条件的逻辑表达式中使用通配符,可以筛选出一批符合条件的记录。
例如:
K(‘单位->单位级次编码’)LIKEDWXX(‘1001’,’单位->单位级次编码’)+’%’表示单位编码为“1001”的单位及其所有下级单位。
四、常用函数
1、数学函数
(1)绝对值函数:
ABS(<算术表达式>)
(2)平方根函数:
SQR(<算术表达式>)
(3)四舍五入函数:
ROUND(<算术表达式>,位数)
(4)正弦函数:
SIN(<算术表达式>)
(5)余弦函数:
COS(<算术表达式>)
(6)正切数:
TAN(<算术表达式>)
(7)余切函数:
CTAN(<算术表达式>)
(8)取整函数:
INT(<算术表达式>)
(9)计算以e为底的对数函数:
LN(<算术表达式>)
(10)计算以10为底的对数函数:
LOG(<算术表达式>)
(11)计算以e为底的指数值函数:
EXP(<算术表达式>)
(12)指数函数,例如参数为2,3那么计算2的3次方函数:
POWER(<算术表达式>,<算术表达式>)
(13)圆周率函数:
PAI()
2、字符处理函数
(1)字符串长度函数:
LEN(<字符串表达式>)
(2)取子串函数:
SUBSTR("<字符串表达式>"[,<起始位置>][,<字符长度>])
(3)去空格函数:
TRIM(<字符串表达式>)
(4)字符串转换为小写字母函数:
LOWER(<字符串表达式>)
(5)字符串转换为大写字母函数:
UPPER(<字符串表达式>)
(6)字符串转换为数值:
VAL(<字符串表达式>)
(7)数值转换为字符串:
STR(<数值表达式>)
3、时间和日期函数
(1)日函数:
DAY()返回机器时间当前日信息,例如当前服务器时间为2002年7月25日,则DAY()返回值为25。
(2)月份函数:
MONTH()返回机器时间当前月信息,例如当前服务器时间为2002年7月25日,则DAY()返回值为7。
(3)季度函数:
SEASON()返回机器时间当前季信息,例如当前服务器时间为2002年7月25日,则DAY()返回值为3。
(4)年函数:
YEAR()返回机器时间当前年信息,例如当前服务器时间为2002年7月25日,则DAY()返回值为2002。
4、条件赋值/取值函数
IFF(<逻辑表达式>,<条件真值>,<条件假值>)
当逻辑表达式的值为真时,返回<条件真值>的结果,否则返回<条件假值>;返回值类型视<条件真值>和<条件假值>而定,<条件真值>和<条件假值>的类型必须一致
例如:
在A1单元定义公式A1=IFF(ZMONTH()=1,0,100),该公式表示:
1月份A1单元的值为0,其他月份,A1单元的值为100。
5、统计函数
(1)合计值:
PTOTAL(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的合计值。
(2)最大值:
PMAX(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的最大值。
(3)最小值:
PMIN(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的最小值。
(4)平均值:
PAVG(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的平均值。
(5)区域单元个数:
PCOUNT(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的非表样单元的个数。
(6)区域数值单元的偏方差值:
PSTD(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的数值单元的偏方差值。
(7)区域方差值:
VAR(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的数值单元的方差值。
统计函数只对数值类型的指标进行统计
另外,统计函数和SELECT函数只对指标的决算类型的值进行统计,并且只统计固定指标。
6、关键字函数
(1)根据当前输入日期返回年:
ZYEAR()
例如,报表录入日期为2002年07月25日,则ZYEAR()返回值为2002。
(2)根据当前输入日期返回季:
ZSEASON()
例如,报表录入日期为2002年07月25日,则ZSEASON()返回值为3。
(3)根据当前输入日期返回月:
ZMONTH()
例如,报表录入日期为2002年07月25日,则ZMONTH()返回值为7。
(4)根据当前输入日期返回旬:
ZPERIOD()
例如,报表录入日期为2002年07月25日,则ZPERIOD()返回值为21。
(5)根据当前输入日期返回日:
ZDAY()
例如,报表录入日期为2002年07月25日,则ZDAY()返回值为25。
(6)本单位编码:
ZDW()
例如,报表录入单位的单位编码为“100A”,则ZDW()返回值为字符串“100A”。
(7)关键字1:
ZKEY1()
例如,报表录入自定义关键字1的值为“AAA”,则ZKEY1()返回值为字符串“AAA”。
(8)关键字2:
ZKEY2()
例如,报表录入自定义关键字2的值为“BBB”,则ZKEY2()返回值为字符串“BBB”。
(9)关键字3:
ZKEY3()
例如,报表录入自定义关键字3的值为“CCC”,则ZKEY3()返回值为字符串“CCC”。
7、指标函数
(1)MSELECT(<指标>,[日期关键字],[日期偏移],[关键字]1,[关键字2],[关键字3])
返回某指标在当前任务中的满足条件的值。
此时,单位为当前单位.
日期类型:
日期关键字缺省时,为当前任务的日期类型
日期偏移:
算术表达式,表示相对于当前日期值的偏移值,如-1,+1,-本月(),缺省为0
关键字1:
纯字符串,如"123",缺省为当前关键字1的值
关键字2:
纯字符串,如"123",缺省为当前关键字2的值
关键字3:
纯字符串,如"123",缺省为当前关键字3的值
例如,假设当前任务为月任务,MSELECT([收入],{月},-ZMONTH())返回指标“收入”按当前录入月份减去“-ZMONTH()”个月的那一个月的值,因为ZMONTH()的值为当前录入日期的月份数,所以假设当前录入日期为2002年5月,往前倒推5个月,返回值就是指标“收入”2001年12月的数。
举例中的公式可用于资产负债表月报中,年初余额的取值。
(2)MSUM(<指标>,[任务名],[条件])
返回某指标在指定任务中,符合一定条件的值的汇总结果。
任务名缺省为当前任务,条件缺省为所有值。
例如,任务”统计月报”为月报,公式MSUM([收入],“统计月报”,{单位编码}like“AAA%”and{年}=ZYEAR())返回值为“统计月报”任务中,单位编码是“AAA”的单位及其下属单位,当前年度所有月份“收入”指标的合计值。
(3)MAVG(<指标>,[任务名],[条件])
返回某指标在指定任务中,符合一定条件的平均值。
任务名缺省为当前任务,条件缺省为所有值。
例如,任务”统计月报”为月报,公式MAVG([收入],“统计月报”,{单位编码}like“AAA%”and{年}=ZYEAR())返回值为“统计月报”任务中,单位编码是“AAA”的单位及其下属单位,当前年度月份“收入”指标的平均值。
(4)MCOUNT(<指标>,[任务名],[条件])
返回某指标在指定任务中,符合一定条件的值的个数。
任务名缺省为当前任务,条件缺省为所有值。
例如,任务”统计月报”为月报,公式MCOUNT([收入],“统计月报”,{单位编码}=“AAA”AND{年}=ZYEAR()AND[收入]>10000)返回值为“统计月报”任务中,单位编码是“AAA”的单位,当前年度月份“收入”大于10000的值的个数。
(5)MMIN(<指标>,[任务名],[条件])
返回某指标在指定任务中,符合一定条件最小值。
任务名缺省为当前任务,条件缺省为所有值。
例如,任务”统计月报”为月报,公式MMIN([收入],“统计月报”,{单位编码}=“AAA”and{年}=ZYEAR())返回值为“统计月报”任务中,单位编码是“AAA”的单位,当前年度月份“收入”指标的最小值。
(6)MMAX(<指标>,[任务名],[条件])
返回某指标在指定任务中,符合一定条件的最大值。
任务名缺省为当前任务,条件缺省为所有值。
例如,任务”统计月报”为月报,公式MMAX([收入],“统计月报”,{单位编码}=“AAA”and{年}=ZYEAR())返回值为“统计月报”任务中,单位编码是“AAA”的单位,当前年度月份“收入”指标的最大值。
8、指标查询函数
MeasureQuery('指标查询名称','标题','项目',["查询条件"],['选择的记录数'])
此函数用于展现指标查询结果。
参数说明:
指标查询名称,如:
利润查询
标题,格式:
标题项目[:
Hor|Ver:
ASC|DESC][;标题项目[:
Hor|Ver:
ASC|DESC]][;H|V],如:
年:
Hor:
DESC;单位名称:
Ver:
ASC;H
项目,格式:
[[Sum|Min|Max|Count()项目[]]:
ASC|DESC][;项目:
ASC|DESC],如:
Sum(利润):
DESC
查询条件,格式:
[项目|参数>|=|<|like项目|参数[and|or项目|参数>|=|<|like项目|参数],如:
年>2001
选择的记录数,如:
10
注意:
查询条件各元素间必须以空格分隔
指标查询函数的参数较多且复杂,建议您通过函数向导界面中,参数输入框右边的参照,按