用友系统UFO报表常用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
UFO报表处理
第一部分报表公式及函数
UFO电子报表主要由报表公式编辑\报表命令\二次开发(批命令使用)组成,这里只对常用的一些操作做一简单述叙.
一、UFO的基本概念
(一)单元
数值单元:15位的有效数字;
字数单元:63个字符或31个汉字;
表样单元:63个字符或31个汉字;
单元的表示:
1、〈列标〉〈行号〉
2、〈列标〉#〈行号〉:如A#2 (等同于A2)
3、!<列标〉#〈行号〉:如!1#2 (等同于A2)
4、!!##:表示当前表面的最大单元(以屏幕显示的最大行列数为准,不是表尺寸)。
(二)区域
1、〈单元名称〉:〈单元名称〉如A3:C14;C14:A3
2、〈行〉:"#5"表示第5行的所有单元组成的区域;
3、<列> : "B"或"!2"表示B列所有单元组成的区域; "!!"表示表页中最后一列所有单元组成的区域;
4、〈行〉:〈列〉"#5:#7"表示第5行到第7行所有单元组成的区域;:#1:##"表示整个表页的区域;
5、<列>:<列> 如"B:D"或"!2:!4"或"B:!4"或"!2:D"表示B列到D列的所有单元组成的区域。"A:!!"或"!1:!!"表示整个表页的区域。
区域描述:“报表名”—>〈区域名称〉@表页号
如:B1:B11=“利润表”—>A1:A11@5
(三)关键字
关键字是游离于单元之外的特殊数据单元,可以唯一标识一个表页,用于区别并选择
表页,为多维操作起“关键字”的作用,UFO提供六种关键字:单位名称;年;月;日;季。
(四)筛选
筛选是执行UFO命令或函数时,根据用户指定的筛选条件,对报表中每一页或每一个可变行(列)进行判断,只处理符合筛选条件的表页或可变行(列)。
筛选条件分表页筛选条件和可变区筛选条件,表页筛选条件指定要处理的表页;可变区筛选条件指定要处理的可变行或列。
格式:
FOR〈表页筛选条件〉〈;可变区筛选条件〉
其中:表页筛选条件确定要处理的表页,若省略则指当前表页;ALL表示选择所有的表页。
例:C2:C5=E2:E5 FOR 年〉2002
FOR 年=2002 AND 月>10
(五)关联
UFO报表中一张报表中的不同表页或不同的报表中存在着经济或勾稽关系,要根据这种对应关系找到相关连的数据进行引用,就要定义关联条件。UFO在多个报表之间操作时,主要通过关联条件来实现数据组织。
关联条件跟在命令、函数的后面。
格式:
RELATION〈本表单值表达式1〉WITH 〈对应报表单值表达式2〉[,〈单值表达式11〉WITH 〈单值表达式22〉]
例如:
1、RELATION 月WITH “ZJB”—>月
表示取“ZJB”报表与本报同月的一页的数值
2、RELATION 2 WITH “ZJB”—>季
表示取“ZJB”报表第二季度这一页的数值
3、A=“LRB”—>B RELATION 月WITH “LRB”—>月+1
表示取“LRB”报表上一月B列的数值
(六)运算符
1、算术运算符
^ 平方; *./乘除;+-加减。
2、比较运算符
=等于;>大于;<小于;<>不等于;>=大于或等于;<=小于或等于。
3、逻辑运算符
AND 与并且;OR 或;NOT 非
二、单元计算公式
(一)在公式中如何表示报表
表页号@<表页号> 如@2则表示第2页
当前表页:@ FOR MRECNO( )=1 令第1页进行计算。
最大表页:@@
(二)单元公式表述
格式:
<目标区域>=<算术表达式> [FOR<表页筛选条件><;<可变区筛选条件>]
[RELATION<关联条件>]
RELATION可简写成RELA。
表页筛选条件(可选):在报表的所有表页中指定参加运算的表页,如不指定表页筛选条件,则对所有的表页运算。
关联条件(可选):建立本报表与其他报表之间的关联关系。
在单元公式中不用ALL则可对全部表页进行计算,但在命令窗中,二次开发平台中不用ALL则只对当前表页进行运算。
(三)单元公式举例
1、简单的单元公式:
A5=A6+A7;A4:A8=B4:B8+C4:C8
2、指定单元公式处理的表页
C2=(D1/E3)*100 FOR A1>0
F5=((D1-E2)/E3)*100 FOR 年=1992 AND 月=10
3、从当前报表的其他表页中取数
B10=A1@1 (所有表页,B10等于第1页A1单元的值)
B10="A"->B10 RELATION 月WITH 1 (当前报表为"A.REP")
(B10等于当前报表中"月=1"的B10单元的值)
SELECT函数(本报表累计函数)的运用
D5:D20=C5:C20+SELECT(D5:D20,年@=年AND 月@=月+1)
表示D5:D20区域取本年累计值。(如“损益表“中求累计值)
使用SELECT函数时不能使用表页筛选条件,@表示当前表页,月@为本月关键字中的"月";例:D=C+SELECT (D,年=1994 AND 月12)
4、从其他报表中取数
D5=“B”—>D5@4
C5="B"->C10 FOR 年=1995 RELATION 月WITH "B"->月
本表中的C5等于B表年月相同的C10的值.
E2="B"->A2+"C"->D4 FOR 月>6 RELATION 月WITH "B"->月, 月WITH "C"->月。
5、区域公式:
B8:C12=0 ;C7:C13=F15:F21+H6:H12;D3:D25=E3:E25/F3:F25
A1:A10=“盈利单位”FOR J20>0
6、筛选条件的运用
在单元公式中,可进行如下设计:
.......FOR 年=1996 AND 月>6 令1996年下半年的表页进行计算。
FOR 月>3 AND 月<6
FOR C1>0 ORC2>0
FOR MREC ( )=1 令第一页进行计算
FOR MREC ( )<13 令1-12页进行计算
7、关联条件的运用
格式: RELATION <单元|关键字|常量|变量> WITH "报表名"-><单元|关键字|常量|变量>
WITH前的参数表示目前表页的特征