报表公式说明V1.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 IUFO公式函数语法规则
1.1 元素表示
1.1.1 如何表示指标
在函数中表示指标的方法是:"报表编码->指标名称"。例如:"4001->其他应付款期末余额",表示编码为“4001”的报表中的指标“其他应付款期末余额”。
1.2.1 如何表示关键字
关键字用关键字名加一对小括号,前加‟K‟表示,如K('年')、k('月')、k('单位')、k('单位->单位名称'),‟单位->单位结构名称‟表示单位结构字段。可用在函数中,也可以单独用于条件表示。
1.2 函数
1.2.1 日期函数
1、日函数:DAY() 返回机器时间当前日信息,例如当前服务器时间为2012年7月25日,则DAY()返回值为25。
2、月份函数:MONTH() 返回机器时间当前月信息,例如当前服务器时间为2012年7月25日,则DAY()返回值为7。
3、季度函数:SEASON() 返回机器时间当前季信息,例如当前服务器时间为2012年7月25日,则DAY()返回值为3。
4、年函数:YEAR() 返回机器时间当前年信息,例如当前服务器时间为2012年7月25日,则DAY()返回值为2012。
5、日期函数:DATE() 返回当前机器时间,YYYYMMDD形式。例如当前服务器时间为2012年7月25日,则DA TE()返回值为20120725。
1.2.2 条件赋值/取值函数
IFF(<逻辑表达式>,<条件真值>,<条件假值>)
当逻辑表达式的值为真时,返回<条件真值>的结果,否则返回<条件假值>;返回值类型视<条件真值>和<条件假值>而定,<条件真值>和<条件假值>的类型必须一致例如:在A1单元定义公式A1=IFF(ZMONTH()=1,0,100),该公式表示:1月份A1单元的值为0,其他月份,A1单元的值为100。
1.2.3 统计函数
1、合计值:PTOTAL(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的合计值。
2、最大值:PMAX(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的最大值。
3、最小值:PMIN(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的最小值。
4、平均值:PA VG(<区域>,<区域条件>)
返回指定区域在某一页符合区域筛选条件的数值单元的平均值。
5、区域单元个数:PCOUNT(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的非表样单元的个数。
6、区域数值单元的偏方差值:PSTD(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的数值单元的偏方差值。
7、区域方差值:V AR(区域,区域条件)
返回指定区域在某一页符合区域筛选条件的数值单元的方差值。
统计函数只对数值类型的指标进行统计。
另外,统计函数和SELECT函数只对指标的决算类型的值进行统计,并且只统计固定指标。
1.2.4 关键字函数
关键字值函数:ZKEY('关键字名称'),根据当前报表关键字,返回指定关键字的值。
关键字:K('关键字名称') ,表示关键字。
上面这两个函数经常在条件表达式中联用,例如定义如下公式:MSUM('4001->预付账款期末余额',k('年')=zkey('年') and k('单位')=zkey('单位->单位编码'))
公式中的条件表示对年和单位取当前报表关键字值的预付账款期末余额指标求和。1.2.5 时间关键字属性函数
1、根据当前输入日期返回年:ZYEAR()
例如,报表录入日期为2012年07月25日,则ZYEAR()返回值为2012。
2、根据当前输入日期返回季:ZSEASON()
例如,报表录入日期为2012年07月25日,则ZSEASON()返回值为3。
3、根据当前输入日期返回月:ZMONTH()
例如,报表录入日期为2012年07月25日,则ZMONTH()返回值为7。
4、根据当前输入日期返回旬:ZPERIOD()
例如,报表录入日期为2012年07月25日,则ZPERIOD()返回值为3。
5、根据当前输入日期返回日:ZDAY()
例如,报表录入日期为2012年07月25日,则ZDAY()返回值为25。
6、根据当前输入日期返回周的序号:ZWEEK()
例如,报表录入日期为2012年01月01日,则ZWEEK ()返回值为1。
7、根据当前输入日期返回该日期所属半年:ZHALFYEAR(),上半年返回1,下半年返回2
例如,报表录入日期为2012年07月25日,则ZHALFYEAR ()返回值为2。
8、根据当前报表时间关键字,返回当前时间的最后一天,默认形式yyyymmdd,用户可以加入分隔符,则年月日之间用指定字符分隔。
例如,报表录入日期为2012年07月25日,则ZDA TE ()返回值为20120731。
9、根据当前报表时间关键字,返回当前计算日期的期初值:ZDATEQC(['日期分隔符']),默认形式yyyymmdd,可以在其中加入分隔符。
例如报表时间关键字:月,录入时间2012-5-31 。ZDATEQC('-'),返回2012-05-01。
1.2.6 单位函数
本单位编码:ZDW(),根据当前报表关键字,返回单位编码。
单位名称函数:DWNAME('单位编码'),根据给出的单位编码返回对应的单位名称。
单位信息:DWXX('单位编码','单位结构'),根据给定单位编码,返回对应的其他单位结构的值。单位结构的表示方法:单位->单位结构名称。
1.2.7 指标函数
1、指标取数函数:Mselect(指标[, 日期关键字][,日期偏移量][,条件][,版本]),返回指标符合条件的值。
指标:字符串,表示方法为:'报表编码->指标名称'。
日期关键字:当前报表中可以使用的日期关键字,例如:当前报表是月报,则可以使用'年'、'半年'、'季'、'月';
日期偏移量:相对于日期关键字的偏移量。整数,正数表示向后偏移,负数表示向前偏移,0或缺省表示同当前报表关键字值相同。可以是单元、指标、常数组成的表达式。
条件:逻辑表达式,各条件之间以and相连,条件中可以使用指标所属报表中所有关键字。条件可缺省,表示同当前报表关键字的值相同。如果指标所在的报表对应的关键字在这个表达式中没有对应的值,那么在当前报表的关键字中找到一样的关键字并带入,如果当前报表也没有则用空值带入,这样的结果是结果为空值。如果条件中重复对已设置了偏移的日期关键字定义条件,则偏移无效。
版本:版本名称,'原始'、'合并'、'调整',缺省表示同当前报表版本相同。
2、取数函数:Mselects(指标组[, 日期关键字][,日期偏移量][,条件][,版本]),返回指定报表中一组指标,符合条件的一组值。
指标组:指标所属的报表编码和指标名称列表,它们之间用"->"分隔,指标名称列表是一组用逗号隔开的指标名称列表。
3、区域指标取数函数:Mselecta(区域[, 日期关键字][,日期偏移量][,条件][,版本]),返回当前报表指定区域对应指标,符合条件的值。
区域:本表单元位置,例如:A1:C5;它表区域表示为:'报表编码'->区域例如:'会01'->C4:C7