SAP BPC - 业务逻辑



您可以在 BPC 中对数据执行业务逻辑和脚本逻辑。可以执行各种计算。

业务规则 - 这些是货币函数,用于在业务规划和合并模型中过账常见的会计任务。

脚本逻辑 - 这包括用于对 BPC 系统中的成员、维度和数据执行不同计算的公式。

维度逻辑

维度逻辑用于对维度应用计算和公式。计算根据维度公式在检索时执行。正确使用维度公式非常重要,因为如果使用不当,它们会影响系统性能。

应用维度逻辑时需要注意的关键点 -

  • 维度公式会影响系统性能,因此应正确应用。

  • 维度公式应仅应用于需要在聚合后进行计算的成员。

  • 维度公式应仅用于必须在两个级别(基础级别和父级别)计算的比率。

  • 常用的维度成员公式用于执行计算 - 每单位成本、增长率等。

如何定义维度逻辑?

您应该熟悉多维表达式语言才能创建复杂的维度公式。支持的 MDX 函数列表可从功能模块 BAPI_MDPROVIDER_GET_FUNCTIONS 获取。

前提条件 - 要在维度中使用公式,您应该使用“管理维度”任务选项将名为“公式”的属性添加到成员工作表。

Define Dimension Logic

您还应该定义字段长度,并且它应该大于 60 个字符。建议使用较高的字段长度,因为任何大于 60 的长度都以字符串形式存储在 SAP NetWeaver 中。

如果要在 AppSet 中使用维度公式,则应维护一个类型为 R 的特殊维度成员。此成员称为本地货币 (LC)。

App 集 → 选择“维护维度成员”。

Define Dimension Logic

公式可以手动创建或从库维度公式中获取。要定义成员维度公式,您必须在维度周围加上方括号,并且两个维度之间有一个点。

[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]

[SALES].[SALES1] / [SALES].[SALES2]

维度公式中必须使用标准算术函数 - 加法 (+) 、减法 (-) 、乘法 (*) 、除法 (/) - 这些用于 SAP NetWeaver。

保存维度公式后,接下来是验证语法。

Define Dimension Logic

逻辑脚本

逻辑脚本允许您自动化 BPC 中财务报表的计算。

Logic Scripts

业务规则

业务规则用于自定义数据操作任务,例如带有货币转换的大量数据导入、将输入数据导入数据库等。可以使用基于表的逻辑或基于脚本的过滤器修改业务规则。基于表的逻辑提供了 UCON 加速器中提供的功能,而基于脚本的文件可以使用 MDX 或 SQL 语法进行自定义。

您可以为以下活动定义业务规则 -

  • 结转规则 - 包括在新财政年度开始时初始化余额。

  • 验证规则 - 验证输入数据。

  • 货币转换规则 - 将本地货币转换为 BPC 报表中使用的货币。

  • 公司间过账规则 - 匹配公司间交易。

  • 自动调整和其他计算。

要在 BPC 系统中管理业务规则 - 转到管理,如下图所示。转到规则→展开→业务规则。

Business Rule

Business Rule

Business Rule

脚本逻辑

借助脚本逻辑,您可以使用 SQL 或 MDX 语言编写自己的逻辑。维度公式中可以使用各种 MDX 函数。一些常见的 MDX 函数包括 -

  • Avg - 返回数字表达式的平均值。

  • Count - 返回一个集合中的元组数量,也包括空单元格。

  • Max - 返回数字表达式的最大值。

  • Min - 返回数字表达式的最小值。

  • Sum - 返回数字表达式的总和。

维度公式中可以使用其他 MDX 函数。

简单规则公式示例

[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]

[SALES].[SALES1] / [SALES].[SALES2]

维度公式中必须使用标准算术函数 - 加法 (+) 、减法 (-) 、乘法 (*) 、除法 (/) - 这些用于 SAP NetWeaver。

保存维度公式后,接下来是验证语法。

Script Logic

高级规则公式示例

这包括将计算维度公式从一个时间段移动到另一个时间段。

[AccRec] 应收账款

[AccPay] 应付账款

Mvmt Acc Rec 应收账款变动 (if([Time].CurrentMember.Children.Count = 0,[Account].[AccRec]-([Account].[AccRec],[Time].PrevMember) SUM(Descendants[Time].CurrentMember,[Time].[Month],LEAVES)))
Mvmt inventory 存货变动 (if([Time].CurrentMember.Children.Count = 0,[Account].[Inventory]-([Account].[Inventory],[Time].PrevMember) SUM(Descendants[Time].CurrentMember,[Time].[Month],LEAVES)))

在维度公式中创建脚本逻辑的语法已涵盖。

MDX 语法中的异常

以下是 BPC 中 MDX 语法的例外情况 -

  • 将关键字 AS 替换为“=”(等于)号。
  • 不要在表达式周围使用单引号。

示例

[ACCOUNT].[#GROSSSALES] = -[ACCOUNT].[UNITS]*[ACCOUNT].[INPUTPRICE]

[ACCOUNT].[#COST] = -[ACCOUNT].[#GROSSSALES]*80/100

工作表逻辑

在 Excel 工作表中执行的所有计算都称为工作表逻辑。工作表逻辑包括 Excel 电子表格中可用的所有函数以及 BPC 中提供的函数。

Worksheet Logic
广告
© . All rights reserved.