- SAP BPC 教程
- SAP BPC - 首页
- SAP BPC - 概述
- SAP BPC - 术语
- SAP BPC - 应用
- SAP BPC - 模型设计
- SAP BPC - 数据加载
- SAP BPC - 报表
- SAP BPC - 计划
- SAP BPC - 业务逻辑
- SAP BPC - 业务功能
- SAP BPC - 流程管理
- SAP BPC - Word 集成
- SAP BPC - PowerPoint 集成
- SAP BPC - 重要工具
- SAP BPC - 业务流程
- SAP BPC - 自定义菜单
- SAP BPC - 合并
- SAP BPC - 准备抵消
- SAP BPC - 配置抵消
- SAP BPC - 嵌入式环境
- SAP BPC - 安全性
- SAP BPC - 热分析
- SAP BPC - Park N Go
- SAP BPC 有用资源
- SAP BPC - 面试题
- SAP BPC - 快速指南
- SAP BPC - 有用资源
- SAP BPC - 讨论
SAP BPC - 业务逻辑
您可以在 BPC 中对数据执行业务逻辑和脚本逻辑。可以执行各种计算。
业务规则 - 这些是货币函数,用于在业务规划和合并模型中过账常见的会计任务。
脚本逻辑 - 这包括用于对 BPC 系统中的成员、维度和数据执行不同计算的公式。
维度逻辑
维度逻辑用于对维度应用计算和公式。计算根据维度公式在检索时执行。正确使用维度公式非常重要,因为如果使用不当,它们会影响系统性能。
应用维度逻辑时需要注意的关键点 -
维度公式会影响系统性能,因此应正确应用。
维度公式应仅应用于需要在聚合后进行计算的成员。
维度公式应仅用于必须在两个级别(基础级别和父级别)计算的比率。
常用的维度成员公式用于执行计算 - 每单位成本、增长率等。
如何定义维度逻辑?
您应该熟悉多维表达式语言才能创建复杂的维度公式。支持的 MDX 函数列表可从功能模块 BAPI_MDPROVIDER_GET_FUNCTIONS 获取。
前提条件 - 要在维度中使用公式,您应该使用“管理维度”任务选项将名为“公式”的属性添加到成员工作表。
您还应该定义字段长度,并且它应该大于 60 个字符。建议使用较高的字段长度,因为任何大于 60 的长度都以字符串形式存储在 SAP NetWeaver 中。
如果要在 AppSet 中使用维度公式,则应维护一个类型为 R 的特殊维度成员。此成员称为本地货币 (LC)。
App 集 → 选择“维护维度成员”。
公式可以手动创建或从库维度公式中获取。要定义成员维度公式,您必须在维度周围加上方括号,并且两个维度之间有一个点。
[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]
[SALES].[SALES1] / [SALES].[SALES2]
维度公式中必须使用标准算术函数 - 加法 (+) 、减法 (-) 、乘法 (*) 、除法 (/) - 这些用于 SAP NetWeaver。
保存维度公式后,接下来是验证语法。
逻辑脚本
逻辑脚本允许您自动化 BPC 中财务报表的计算。
业务规则
业务规则用于自定义数据操作任务,例如带有货币转换的大量数据导入、将输入数据导入数据库等。可以使用基于表的逻辑或基于脚本的过滤器修改业务规则。基于表的逻辑提供了 UCON 加速器中提供的功能,而基于脚本的文件可以使用 MDX 或 SQL 语法进行自定义。
您可以为以下活动定义业务规则 -
结转规则 - 包括在新财政年度开始时初始化余额。
验证规则 - 验证输入数据。
货币转换规则 - 将本地货币转换为 BPC 报表中使用的货币。
公司间过账规则 - 匹配公司间交易。
自动调整和其他计算。
要在 BPC 系统中管理业务规则 - 转到管理,如下图所示。转到规则→展开→业务规则。
脚本逻辑
借助脚本逻辑,您可以使用 SQL 或 MDX 语言编写自己的逻辑。维度公式中可以使用各种 MDX 函数。一些常见的 MDX 函数包括 -
Avg - 返回数字表达式的平均值。
Count - 返回一个集合中的元组数量,也包括空单元格。
Max - 返回数字表达式的最大值。
Min - 返回数字表达式的最小值。
Sum - 返回数字表达式的总和。
维度公式中可以使用其他 MDX 函数。
简单规则公式示例
[PRODUCT].[PRODUCT1] – [PRODUCT].[PRODUCT2]
[SALES].[SALES1] / [SALES].[SALES2]
维度公式中必须使用标准算术函数 - 加法 (+) 、减法 (-) 、乘法 (*) 、除法 (/) - 这些用于 SAP NetWeaver。
保存维度公式后,接下来是验证语法。
高级规则公式示例
这包括将计算维度公式从一个时间段移动到另一个时间段。
[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 中提供的函数。