费用预算-业务规则使用说明

栏目:云星瀚知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

费用预算-业务规则使用说明

1 简介

1.1 功能介绍

企业的预算表内部、预算表之间的维度成员通常存在计算关系,可在系统中将这些计算公式配置成业务规则,实现表内与表间的计算。

1.2 应用场景

企业的预算表内部、预算表之间通常存在计算关系时,可通过业务规则实现计算。

1.3 系统路径

【企业绩效云】【费用预算】【费用预算体系】【业务规则】

2 主要操作

前提条件

完成体系创建、模板搭建操作。


操作步骤

步骤1:通过【企业绩效云】【费用预算】【费用预算体系】【业务规则】打开业务规则列表界面,可根据需要新增业务规则分类,便于对业务规则的管理,可修改类别名称,当业务规则分类下存在业务规则时,分类不可删除。



步骤2:点击“新增”,打开业务规则编写界面



步骤3:运用scope()函数函数指定run()函数的运算范围,该函数不可单独使用,需嵌套在run()函数的头部。也就是说,写业务规则时可以使用scope()函数限定计算范围。


如,在计算利润表主营业务收入的季度累计数时,仅计算InternalCompany(往来组织)成员为“ICNone(不区分往来组织)”且ChangeType(变动类型)成员为“YTD(本年累计)”的R6901主营业务收入,则业务规则中scope写为:

run(

    scope(

      InternalCompany.in(“ICNone”),

      ChangeType.in(“YTD”)

       ),


如果需要计算某个非明细成员数据,则可利用“idescendants”加以计算。“idescendants”表示针对某个维度的某个维度成员的所有下级成员执行,第一个参数是维度编码,第二个参数是维度成员编码。

如上例中,需要计算产品C2QB13702的主营业务收入,C2QB13702有下级(非明细),产品维度编码为C2,则业务规则中scope写为:

run(

    scope(

      InternalCompany.in(“ICNone”),

      ChangeType.in(“YTD”)

      idescendants('C2','C2QB13702')

      ),


注意事项:

1.Scope()函数目前仅支持“in”和“idescendants”两类写法,多个维度成员范围用逗号连接,最后一个范围没有逗号。

2.“.in”:表示仅针对指定的成员执行,“.in”的前面是维度编码,“.in”的后面是维度成员编码,多个成员编码用逗号连接。

3.业务规则中的维度编码和维度成员编码必须与维度管理中的对应编码大小写相同,且必须为半角字符。

4.双引号(“ ”)内部只能嵌套单引号('  ')。如果引号不存在嵌套,即只存在一层引号时,那么,双引号和单引号均可。

5. 函数内用逗号(,)分隔参数,函数均已分号(;)标识结束。

6.“idescendants”:表示针对某个维度的某个维度成员的所有下级成员执行,第一个参数是维度编码,第二个参数是维度成员编码。


步骤4:利用run()函数与v()函数编写维度成员计算关系。当成员之间不存在层级关系,但需要通过其他成员计算得到目标成员的数值,那么,通过编写run()函数与v()函数可以实现。scope()表示计算公式维度适用范围,v()作用是指定维度成员,如果左式和右式的维度范围不一致,则需要在"v()"加上具体适用范围。该函数不可单独使用,需嵌套在run()函数的执行语句中。


如,上例中,主营业务收入季度累计数时,主营业务收入(R6001)的一季度(M_Q1)累计数=1月数据(M_M01)+2月数据(M_M02)+3月数据(M_M03),则业务规则书写为:

run(

    scope(

      InternalCompany.in(“ICNone”),

      ChangeType.in(“YTD”)

      idescendants('C2','C2QB13702')

      ),

    “v('Account.R6001,Period.M_Q1') =          v('Account.R6001,Period.M_M01')+v('Account.R6001,Period.M_M02')-v('Account.R6001,Period.M_M03')”

);


注意事项:

1.v()函数只有一个参数,里面是成员,在引号内写入维度编码.维度成员编码,多个成员之间用半角逗号“,”分隔。

2.v()函数中的成员编码存在半角小数点“.”时,需要根据以下示例进行填写:

3.Account.R6001 :R6001这一维度成员编码不存在半角小数点“.”,那么,分隔维度编码和维度成员编码的分隔符可以写为“.”,若此科目的编码为R6001.01,成员编码里存在半角小数点“.”为了加以区分,分隔维度编码和维度成员编码的分隔符需要写为“@”,即需写为Account@R6001.01。

4.报表调用执行业务规则时,会将报表的所属组织、情景、财年、期间、币别作为scope()函数内容,如果待执行的业务规则的scope()函数已经存在组织、情景、财年、期间、币别,那么,系统会以业务规则内的为准。

5.因为是基于成员的运算,而非报表的运算,run()函数可以实现表内或表间的数据运算,但前提是数据必须存储在维度成员上。

6.业务规则中括号要成对,缺少括号也会无法识别。公式中的“”和‘’要区别使用,“”用于公式计算的整个式子,‘’用于具体的计算成员。


步骤5:保存业务规则,在业务规则列表界面点击分配,选择需要分配的业务规则;若规则分配错误,可通过“反分配”取消业务规则分配;分配后可选择计算业务规则时间为“打开报表时计算”/“保存报表时计算”/"打开或保存时都计算“。


 

 


费用预算-业务规则使用说明

1 简介1.1 功能介绍企业的预算表内部、预算表之间的维度成员通常存在计算关系,可在系统中将这些计算公式配置成业务规则,实现表内与表间...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息