nc公式、函数语法规则
[ 内部交流 ]
如何表示指标
指标用指标名加一对小括号,前加‘M’表示,如M('利润')m("成本")
如何表示关键字
关键字用关键字名加一对小括号,前加‘K’表示,如K('')k("")k('单位编码')
(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)指数函数,例如参数为23那么计算23次方函数:POWER(<算术表达式>, <算术表达式>)
(13)四舍五入函数函数:ROUND(<算术表达式>, 整数)
(14)圆周率函数:PAI()
(1)字符串长度函数 LEN(<字符串表达式>)
(2)取子串函数 SUBSTR("<字符串表达式>"[,<起始位置>][,<字符长度>])
(3)去空格函数 TRIM(<字符串表达式>)
(4)字符串转换为小写字母函数 LOWER(<字符串表达式>)
(5)字符串转换为大写字母函数 UPPER(<字符串表达式>)
(6)字符串转换为数值 :VAL(<字符串表达式>)
(7)数值转换为字符串 :STR(<数值表达式>)
(1)日函数 DAY() 返回机器时间当前日信息,例如当前服务器时间为2002725日,则DAY()返回值为25
(2)月份函数 MONTH() 返回机器时间当前月信息,例如当前服务器时间为2002725日,则DAY()返回值为7
(3)季度函数 SEASON() 返回机器时间当前季信息,例如当前服务器时间为2002725日,则DAY()返回值为3
(4)年函数 YEAR() 返回机器时间当前年信息,例如当前服务器时间为2002725日,则DAY()返回值为2002
IFF(<逻辑表达式>,<条件真值>,<条件假值>)
当逻辑表达式的值为真时,返回<条件真值>的结果,否则返回<条件假值>;返回值类型视<条件真值><条件假值>而定,<条件真值><条件假值>的类型必须一致
例如:在A1单元定义公式A1=IFF(ZMONTH()=1,0,100),该公式表示:1月份A1单元的值为0,其他月份,A1单元的值为100
(1)合计值:PTOTAL(<区域>,<区域条件>)
  <区域条件>为逻辑表达式,如<区域> = 1998
(2)最大值:PMAX(<区域>,<区域条件>)
(3)最小值:PMIN(<区域>,<区域条件>)
(4)平均值:PAVG(<区域>,<区域条件>)
(5)区域单元个数:PCOUNT(区域,区域条件)
(6)区域数值单元的偏方差值:PSTD(区域,区域条件)
(7)区域方差值:VAR(区域,区域条件)
统计函数只对数值类型的指标进行统计
另外,统计函数和SELECT函数只对指标的决算类型的值进行统计,并且只统计固定指标。
(1)根据当前输入日期返回年:ZYEAR()
例如,报表录入日期为20020725日,则ZYEAR()返回值为2002
(2)根据当前输入日期返回季:ZSEASON()
例如,报表录入日期为20020725日,则ZSEASON()返回值为3
(3)根据当前输入日期返回月:ZMONTH()
例如,报表录入日期为20020725日,则ZMONTH()返回值为7
(4)根据当前输入日期返回旬:ZPERIOD()
例如,报表录入日期为20020725日,则ZPERIOD()返回值为21
(5)根据当前输入日期返回日:ZDAY()
例如,报表录入日期为20020725日,则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"
(1) MSELECT(<指标>[日期关键字][日期偏移][关键字]1[关键字2][关键字3])
返回某指标在当前任务中的满足条件的值。此时,单位为当前单位.
日期类型: 日期关键字缺省时,为当前任务的日期类型
日期偏移: 算术表达式,表示相对于当前日期值的偏移值,如-1, +1, -本月(),缺省为0
关键字1 纯字符串,如"123",缺省为当前关键字1的值
关键字2:纯字符串,如"123",缺省为当前关键字2的值
关键字 3:纯字符串,如"123",缺省为当前关键3的值
例如,假设当前任务为月任务,MSELECT(m("收入"),k(""),-ZMONTH())返回指标"收入"按当前录入月份减去"-ZMONTH()"个月的那一个月的值,因为ZMONTH()的值为当前录入日期的月份数,所以假设当前录入日期为20025月,往前倒推5个月,返回值就是指标"收入"200112月的数。举例中的公式可用于资产负债表月报中,年初余额的取值。

(2) MSUM(<指标>[任务名][条件])
返回某指标在指定任务中,符合一定条件的值的汇总结果。任务名缺省为当前任务,条件缺省为所有值。
例如,任务"统计月报"为月报,公式MSUM(m("收入"),"统计月报",k("单位编码") like "AAA%"and k("")=ZYEAR())返回值为"统计月报"任务中,单位编码是"AAA"的单位及其下属单位,当前年度所有月?quot;收入"指标的合计值。

(3) MAVG(<指标>[任务名][条件字符串长度规则])
返回某指标在指定任务中,符合一定条件的平均值。任务名缺省为当前任务,条件缺省为所有值。
例如,任务"统计月报"为月报,公式MAVG(m("收入"),"统计月报",k("单位编码") like "AAA%"and k("")=ZYEAR())返回值为"统计月报"任务中,单位编码是"AAA"的单位及其下属单位,当前年度月份"收入"指标的平均值。

(4) MCOUNT<指标>[任务名][条件]
返回某指标在指定任务中,符合一定条件的值的个数。任务名缺省为当前任务,条件缺省为所有值。
例如,任务"统计月报"为月报,公式MCOUNT(m("收入"),"统计月报",k("单位编码")="AAA"AND k("")=ZYEAR() AND m("收入")>10000)返回值为"统计月报"任务中,单位编码是"AAA"的单位,当前年度月份"收入"大于10000的值的个数。

(5) MMIN(<指标>[任务名][条件])
返回某指标在指定任务中,符合一定条件最小值。任务名缺省为当前任务,条件缺省为所有值。
例如,任务"统计月报"为月报,公式MMIN(m("收入"),"统计月报",k("单位编码")="AAA"and k("")=ZYEAR())返回值为"统计月报"任务中,单位编码是"AAA"的单位,当前年度月份"收入"指标的最小值。

(6) MMAX(<指标>[任务名][条件])
返回某指标在指定任务中,符合一定条件的最大值。任务名缺省为当前任务,条件缺省为所有值。
例如,任务"统计月报"为月报,公式MMAX(m("收入"),"统计月报",k("单位编码")="AAA"and k("")=ZYEAR())返回值为"统计月报"任务中,单位编码是"AAA"的单位,当前年度月份"收入"指标的最大值。
算术表达式
由指标、关键字、常数、函数、算术运算符组成的计算序列。计算的结果为确定值。
<算术表达式> ::= <表达式因子><算术运算符><表达式因子>
<表达式因子> ::= <指标> | <关键字> | <数值>|<字符串>|<函数>|'('<算术表达式>')'
<算术运算符> = '+' |'-'|'*'|'/'
*字符串可以用单引号或双引号括起
逻辑表达式
由算术表达式、比较运算符、逻辑运算符组成的计算序列
<逻辑表达式> ::= <逻辑表达式因子><逻辑运算符><逻辑表达式因子>
<逻辑表达式因子> = (<算术表达式><比较运算符><算术表达式>)|'('<逻辑表达式>')'
<比较运算符> = '=' | '>' | '>=' | '<'| '<=' | '<>'| 'LIKE'
<逻辑运算符> = 'AND' | 'OR'
 
 
2006-11-22

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。