SAC Planning入门练习

Estimated read time 3 min read

本文档内容是基于我个人对SAC的理解产生的,阅读时间约为1小时。

本文档主要分享SAC Planning的入门操作

 

如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容

 

本文档包含以下部分:

1.创建模型

2.在account维中创建自己的KPI指标

3.创建Story以展示数据

4.创建数据动作Data Action

5.执行动作

 

0.练习准备

进入https://gitee.com/arthur-yang/sacplanning-tutorial/tree/master

下载PnL100_CCT.xslxData_PnL_Actual.txtSAC Workshop.xlsx三个文件

 

1.创建模型

1.1创建货币换算表

点击左上角的左菜单栏(即三条杠)- 右击文件 – 在新选项卡中打开应用

 

在弹出的新页签左菜单栏中点击 建模器 – 换算 – 创建币种换算表

表名填写 PnL100_CCT点击创建后,下载对应文件并将内容填写至该换算表中并保存

 

1.2创建模型并修改基础设置

左菜单中点击建模器 – 新建模型 – 从空模型开始 – 创建

在弹出的新页面上方工具栏的 常规 中点击 模型首选项

 

在常规设置子菜单中将模型名称重命名为PnL_Admin

在访问权限和隐私子菜单中打开数据审核开关,

在计划子菜单中确保用于计划的日期维是Date,

在转换子菜单中打开货币换算开关,将货币汇率表选为我们先前创建的PnL100_CCT

 

 

1.3创建维度

1.3.1创建科目维度

PnL_Admin模型中,点击上方工具栏 编辑 中的加号+ – 添加维

 

为其命名为Admin_COA,类型选择为账户,点击添加

 

添加完成之后,模型主页的右侧会弹出菜单,单击 维表 子菜单下的Admin_COA右侧的 编辑维表 按钮(或者在页面中间的画布上点击)

 

在弹出的维表编辑页面右菜单的 层次结构 子菜单下点击 层次结构右侧的三个点,编辑,取消“值为必选”的勾选 – 确定

 

然后在 工具栏下方,维表名右侧点选 将显示模式切换为网格

 

 

然后添加第一个科目维度:

成员ID: PL010

说明: Product Sales

账户类型: INC

汇率类型: 平均值

聚合类型: 总和

 

打开SAC Workshop.xlsx文件,将PnL_COA 页签中A2到N18的数据贴进维度表中

 

最后点击Admin_COA维表左上角的左箭头,以回到model主页

(以此处的层次结构为例,原始数据的account属性一般只含有PL010,PL020PL110,PL120PL310PL320PL330这些选项,然后PL100的值是PL010PL020聚合而成,PL200的值则由PL110PL120聚合而成)

(此处的账户类型中,INC代表income即收入,EXP代表expense即支出,聚合同类账户时数据会直接相加,但在聚合两类账户时,EXP类账户的值会取负数再进行相加)

 

1.3.2创建组织维度

单击 编辑 按钮集下的加号选择 创建维,名字设置维Admin_ORG,类型选择组织打开 设置为公用 开关点击添加

 

类似科目维度表,回到模型主页后右侧会弹出维度Admin_ORG的设置菜单,在维表子菜单下点击Admin_ORG右侧的编辑维表(或者在页面中间的画布上点击),就会来到Admin_ORG维表的主页

右菜单中层次结构子菜单下单击 创建层次结构 – 父子层次结构, ID为H1,单击创建

切换到网格显示后,将SAC Workshop.xls下PnL_ORG页签内A2到E21的内容复制粘贴到该维表中

最后将 负责人 字段的所有内容替换为您,也就是正在做练习的用户的ID,也可以点击搜索找到自己的ID后将整列都拉成同一个ID

 

最后点击维表左上角的左箭头以回到model主页

 

1.3.3创建产品维度

类似以上步骤,创建维度,名字为Admin_PRD,类型为通用

在维表主页右菜单的 层次结构子菜单 点击 创建层次结构 – 父子层次结构,ID为H1

在维表主页右菜单的 属性子菜单 点击 创建属性 – ID填写Volume,类型选择文本

 

最后将SAC Workshop.xls中PnL_PRD页签中A2到D23的内容复制粘贴到维表

回到模型主页

 

1.4创建度量

目前该模型还无法保存,因为还没有度量

在模型主页,点击工具栏 编辑 下方的加号 – 添加度量

在弹出右菜单中,将 常规子菜单下的 名称 命名为Measure_Admin

将单位和货币子菜单中的 单位类型 选择为货币,再将货币下方选择为 “从维” 和 Admin_ORG

 

 

然后在维表主页正中间的 维 子菜单下,单击Date右侧的编辑维表

 

Date维表主页中的右菜单,将日期子菜单 下的开始/结束年份设置为2018和2020,最后回到model主页

 

在工具栏 常规 下单击保存,将保存路径选择为 我的文件

 

最后在模型主页上方的 模型视图 中选择图表,你会看到类似下图的结果

 

1.5导入数据

在模型主页,工具栏 工作区 下的下拉菜单中选择 数据管理

 

单击 导入作业右侧的 导入数据 按钮

 

数据源选择 文件(本地文件或文件服务器)

源文件选择Data_PnL_Actual.txt

 

点击导入,会回到数据集成管理主页,在新出现的导入作业条目右侧点击 设置导入

在真正导入前,系统会先来到准备数据页面,点击 右菜单中  SIGNEDDATA右侧的 62个问题 链接

右菜单 – 列详细信息 – 数据类型 切换为 Number,这样问题就解决了

然后可以点击下一步,通过拖拽将数据对应上,即

AccountAdmin_COA

ENTITY Admin_ORG

PRODLINEAdmin_PRD

SIGNEDDATAMeasure_Admin

 

然后点击下一步,在确认映射关系的页面点击下一步,此时系统会进行映射检查,完成后就可以点击右下角的运行导入 – 完成 以结束全过程

 

 

2.在account维中创建自己的KPI指标

2.1创建KPI维度

进入模型主页,进入Admin_COA维表主页,点击编辑按钮集下的加号,在最新一行添加以下参数
ID:KP000

层次结构:<root>

账户类型:INC

汇率类型:平均值

小数位数:0

单位和货币:货币

 

再添加一行:

ID:KP001

描述:净利润%

层次结构:KP000

账户类型:NFIN

数级:百分比

小数位数:2

单击该行的公式字段(目前是空白字段),单击该字段右侧出现的fx按钮,输入pl300并点击联想出现的 [PL300] Gross Margin, 然后输入 / ,再输入pl100并点击联想出现的内容 total sales,最后点击确定

 

再添加一行

ID:KP002

描述:营业利润%

层次结构:KP000

账户类型:NFIN

数级:百分比

小数位数:2

其公式为PL500/PL100

 

单击保存并回到模型主页

 

3.创建Story以展示数据

左上角三条杠主菜单 – 故事 – 创建响应式页面 – 优化设计体验 – 创建

在故事主页中,将左侧微件菜单中的 表 拖入右侧空白处 – 模型选择中选择现有模型 – PnL_Admin

如果右侧生成器菜单没有出现,在上方工具栏 查看 下点击按钮即可唤出右菜单

 

新创建的table由于各account的数据来源中存在多种货币,所以这里在右菜单的 列子菜单下点击Measure右侧的三个点 – 点击添加计算

 

类型为货币换算,源度量为Measure_Admin, 目标货币为固定-USD,类别为动态,点击确定,即可基于原measure新建一个货币统一使用USD的measure

 

最后进入 右菜单-列-Measures-漏斗-将筛选器仅选择新创建的convertToUSD-点击确定,这样table里就只会出现USD计价的measure了

 

选中新创建的表后,将鼠标悬浮至右菜单中的 行子菜单下的 Admin_COA上,会出现一个漏斗图标,点击它即可来到 “为Admin_COA设置筛选器” 菜单,选中 所有成员 ,点击确定

 

再在右菜单中点击 列子菜单下的 添加维,将Admin_PRD维度加入列

此时保存该story为FirstPlanningReport即可

我们现在就可以依据产品类别/地域划分来下钻看到数据的细节了

 

4.创建数据动作Data Action以规定分摊规则

我们已经可以看到自建的account KPI了,包括毛利率和营业利润率,

但我们针对产品/地区下钻的KPI是不完全准确的,因为indirect expense部分并没有针对不同产品/地区体现,

 

左上角的主菜单-数据操作-创建新的数据操作(即data action)名称填写Admin_Process1,默认模型选择先前创建的PnL_Admin, 然后左上角保存,保存至我的文件夹

 

回到数据操作主页,点击工具栏 添加步骤 下的 添加分配与分摊步骤 

 

名字填写 Indirect Expenses Allocation,写模式下勾选 保留源(这样被分摊动作分配出去的数据源会保留数值,否则会变成0)

 

在下方的 分配与分摊规则子菜单中点击 源维右下方的下拉箭头 – Admin_COA – 默认层次结构

 

然后点击源维下多出的空白行右侧的 两个正方形叠加的按钮 ,来选择源成员为PL310

 

在动因维做类似操作,下拉箭头选择Admin_COA ,选择默认层次结构

 

再选择动因成员为PL010

 

 

 

最后在目标维的下拉箭头选择Admin_PRD,选择默认层次结构(H1)

 

选择目标成员中勾选APL,确定

 

保存该数据操作Data Action

 

5.执行分摊动作

回到FirstPlanningReport, 确保我们在Page_1,并在整个页面右上角的 编辑/查看 切换按钮上切换到编辑模式

 

鼠标点选我们的table,再点击工具栏 中的版本管理

 

点击右菜单-公用版本-Actual右侧的复制按钮,版本名称为ProductProfit,点击右下角的确定

 

最后点击右下角的关闭以关闭版本管理右菜单,然后点击右上角切换到编辑状态

 

点击工具栏的 插入-加号-启动器-数据操作启动器

 

再在右菜单将标签命名为Run Allocation,数据操作选择我们先前创建的Admin_Process1

 

点击画布上的table,在右菜单-筛选器-点击Version

确保仅勾选ProductProfit即可

 

接下来保存story,准备开始执行分摊动作

 

右上角点击查看模式,会弹出一个新页签,在新弹出的查看模式页签中点击我们之前添加的启动器 Run Allocation

 

目标版本选择ProductProfit,确定,运行

 

然后观察查看模式页签内的数据,和编辑模式页签下Actual版本的数据有什么区别。

 

可以看到刚创建的私有数据版本中,All Product Lines整体的PL6003284912变成了3107303,变小了1770609

这是因为分摊动作根据各个Product LinesPL010比例,将PL310总的177609分配给了每个productPL310,所以展开product lines后,你会发现First Person Star这个产品类的PL3100变成了75920

同理,各个产品类的PL310一共增加了177609,导致All Product Lines(APL)PL310也就增加了177609,导致APLPL400也增加了177609,导致APLPL600下降了177609(下降是因为成本/支出accounttypeEXP expense,在聚合时会作为负数对待)

 

关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间

 

 

​ 本文档内容是基于我个人对SAC的理解产生的,阅读时间约为1小时。本文档主要分享SAC Planning的入门操作 如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容 本文档包含以下部分:1.创建模型2.在account维中创建自己的KPI指标3.创建Story以展示数据4.创建数据动作Data Action5.执行动作 0.练习准备进入https://gitee.com/arthur-yang/sacplanning-tutorial/tree/master下载PnL100_CCT.xslx,Data_PnL_Actual.txt,SAC Workshop.xlsx三个文件 1.创建模型1.1创建货币换算表点击左上角的左菜单栏(即三条杠)- 右击文件 – 在新选项卡中打开应用 在弹出的新页签左菜单栏中点击 建模器 – 换算 – 创建币种换算表表名填写 PnL100_CCT,点击创建后,下载对应文件并将内容填写至该换算表中并保存 1.2创建模型并修改基础设置左菜单中点击建模器 – 新建模型 – 从空模型开始 – 创建在弹出的新页面上方工具栏的 常规 中点击 模型首选项 在常规设置子菜单中将模型名称重命名为PnL_Admin在访问权限和隐私子菜单中打开数据审核开关,在计划子菜单中确保用于计划的日期维是Date,在转换子菜单中打开货币换算开关,将货币汇率表选为我们先前创建的PnL100_CCT  1.3创建维度1.3.1创建科目维度在PnL_Admin模型中,点击上方工具栏 编辑 中的加号+ – 添加维 为其命名为Admin_COA,类型选择为账户,点击添加 添加完成之后,模型主页的右侧会弹出菜单,单击 维表 子菜单下的Admin_COA右侧的 编辑维表 按钮(或者在页面中间的画布上点击) 在弹出的维表编辑页面右菜单的 层次结构 子菜单下,点击 层次结构右侧的三个点,编辑,取消“值为必选”的勾选 – 确定 然后在 工具栏下方,维表名右侧点选 将显示模式切换为网格  然后添加第一个科目维度:成员ID: PL010说明: Product Sales账户类型: INC汇率类型: 平均值聚合类型: 总和 打开SAC Workshop.xlsx文件,将PnL_COA 页签中A2到N18的数据贴进维度表中 最后点击Admin_COA维表左上角的左箭头,以回到model主页(以此处的层次结构为例,原始数据的account属性一般只含有PL010,PL020,PL110,PL120,PL310,PL320,PL330这些选项,然后PL100的值是PL010,PL020聚合而成,PL200的值则由PL110和PL120聚合而成)(此处的账户类型中,INC代表income即收入,EXP代表expense即支出,聚合同类账户时数据会直接相加,但在聚合两类账户时,EXP类账户的值会取负数再进行相加) 1.3.2创建组织维度单击 编辑 按钮集下的加号,选择 创建维,名字设置维Admin_ORG,类型选择组织,打开 设置为公用 开关,点击添加 类似科目维度表,回到模型主页后右侧会弹出维度Admin_ORG的设置菜单,在维表子菜单下点击Admin_ORG右侧的编辑维表(或者在页面中间的画布上点击),就会来到Admin_ORG维表的主页右菜单中层次结构子菜单下单击 创建层次结构 – 父子层次结构, ID为H1,单击创建切换到网格显示后,将SAC Workshop.xls下PnL_ORG页签内A2到E21的内容复制粘贴到该维表中最后将 负责人 字段的所有内容替换为您,也就是正在做练习的用户的ID,也可以点击搜索找到自己的ID后将整列都拉成同一个ID 最后点击维表左上角的左箭头以回到model主页 1.3.3创建产品维度类似以上步骤,创建维度,名字为Admin_PRD,类型为通用,在维表主页右菜单的 层次结构子菜单 点击 创建层次结构 – 父子层次结构,ID为H1在维表主页右菜单的 属性子菜单 点击 创建属性 – ID填写Volume,类型选择文本 最后将SAC Workshop.xls中PnL_PRD页签中A2到D23的内容复制粘贴到维表中回到模型主页 1.4创建度量目前该模型还无法保存,因为还没有度量在模型主页,点击工具栏 编辑 下方的加号 – 添加度量在弹出右菜单中,将 常规子菜单下的 名称 命名为Measure_Admin将单位和货币子菜单中的 单位类型 选择为货币,再将货币下方选择为 “从维” 和 Admin_ORG  然后在维表主页正中间的 维 子菜单下,单击Date右侧的编辑维表 在Date维表主页中的右菜单,将日期子菜单 下的开始/结束年份设置为2018和2020,最后回到model主页 在工具栏 常规 下单击保存,将保存路径选择为 我的文件 最后在模型主页上方的 模型视图 中选择图表,你会看到类似下图的结果 1.5导入数据在模型主页,工具栏 工作区 下的下拉菜单中选择 数据管理 单击 导入作业右侧的 导入数据 按钮 数据源选择 文件(本地文件或文件服务器)源文件选择Data_PnL_Actual.txt 点击导入,会回到数据集成管理主页,在新出现的导入作业条目右侧点击 设置导入在真正导入前,系统会先来到准备数据页面,点击 右菜单中  SIGNEDDATA右侧的 62个问题 链接将右菜单 – 列详细信息 – 数据类型 切换为 Number,这样问题就解决了然后可以点击下一步,通过拖拽将数据对应上,即Account对Admin_COAENTITY 对Admin_ORGPRODLINE对Admin_PRDSIGNEDDATA对Measure_Admin 然后点击下一步,在确认映射关系的页面点击下一步,此时系统会进行映射检查,完成后就可以点击右下角的运行导入 – 完成 以结束全过程  2.在account维中创建自己的KPI指标2.1创建KPI维度进入模型主页,进入Admin_COA维表主页,点击编辑按钮集下的加号,在最新一行添加以下参数ID:KP000层次结构:<root>账户类型:INC汇率类型:平均值小数位数:0单位和货币:货币 再添加一行:ID:KP001描述:净利润%层次结构:KP000账户类型:NFIN数级:百分比小数位数:2单击该行的公式字段(目前是空白字段),单击该字段右侧出现的fx按钮,输入pl300并点击联想出现的 [PL300] Gross Margin, 然后输入 / ,再输入pl100并点击联想出现的内容 total sales,最后点击确定 再添加一行ID:KP002描述:营业利润%层次结构:KP000账户类型:NFIN数级:百分比小数位数:2其公式为PL500/PL100 单击保存并回到模型主页 3.创建Story以展示数据左上角三条杠主菜单 – 故事 – 创建响应式页面 – 优化设计体验 – 创建在故事主页中,将左侧微件菜单中的 表 拖入右侧空白处 – 模型选择中选择现有模型 – PnL_Admin如果右侧生成器菜单没有出现,在上方工具栏 查看 下点击按钮即可唤出右菜单 新创建的table由于各account的数据来源中存在多种货币,所以这里在右菜单的 列子菜单下点击Measure右侧的三个点 – 点击添加计算 类型为货币换算,源度量为Measure_Admin, 目标货币为固定-USD,类别为动态,点击确定,即可基于原measure新建一个货币统一使用USD的measure 最后进入 右菜单-列-Measures-漏斗-将筛选器仅选择新创建的convertToUSD-点击确定,这样table里就只会出现USD计价的measure了 选中新创建的表后,将鼠标悬浮至右菜单中的 行子菜单下的 Admin_COA上,会出现一个漏斗图标,点击它即可来到 “为Admin_COA设置筛选器” 菜单,选中 所有成员 ,点击确定 再在右菜单中点击 列子菜单下的 添加维,将Admin_PRD维度加入列此时保存该story为FirstPlanningReport即可我们现在就可以依据产品类别/地域划分来下钻看到数据的细节了 4.创建数据动作Data Action以规定分摊规则我们已经可以看到自建的account KPI了,包括毛利率和营业利润率,但我们针对产品/地区下钻的KPI是不完全准确的,因为indirect expense部分并没有针对不同产品/地区体现, 左上角的主菜单-数据操作-创建新的数据操作(即data action),名称填写Admin_Process1,默认模型选择先前创建的PnL_Admin, 然后左上角保存,保存至我的文件夹 回到数据操作主页,点击工具栏 添加步骤 下的 添加分配与分摊步骤  名字填写 Indirect Expenses Allocation,写模式下勾选 保留源(这样被分摊动作分配出去的数据源会保留数值,否则会变成0) 在下方的 分配与分摊规则子菜单中点击 源维右下方的下拉箭头 – Admin_COA – 默认层次结构 然后点击源维下多出的空白行右侧的 两个正方形叠加的按钮 ,来选择源成员为PL310 在动因维做类似操作,下拉箭头选择Admin_COA ,选择默认层次结构 再选择动因成员为PL010   最后在目标维的下拉箭头选择Admin_PRD,选择默认层次结构(H1) 在选择目标成员中勾选APL,确定 保存该数据操作Data Action 5.执行分摊动作回到FirstPlanningReport, 确保我们在Page_1,并在整个页面右上角的 编辑/查看 切换按钮上切换到编辑模式 鼠标点选我们的table,再点击工具栏 中的版本管理 点击右菜单-公用版本-Actual右侧的复制按钮,版本名称为ProductProfit,点击右下角的确定 最后点击右下角的关闭以关闭版本管理右菜单,然后点击右上角切换到编辑状态 点击工具栏的 插入-加号-启动器-数据操作启动器 再在右菜单将标签命名为Run Allocation,数据操作选择我们先前创建的Admin_Process1 再点击画布上的table,在右菜单-筛选器-点击Version确保仅勾选ProductProfit即可 接下来保存story,准备开始执行分摊动作 右上角点击查看模式,会弹出一个新页签,在新弹出的查看模式页签中点击我们之前添加的启动器 Run Allocation 目标版本选择ProductProfit,确定,运行 然后观察查看模式页签内的数据,和编辑模式页签下Actual版本的数据有什么区别。 可以看到刚创建的私有数据版本中,All Product Lines整体的PL600的3284912变成了3107303,变小了1770609,这是因为分摊动作根据各个Product Lines的PL010比例,将PL310总的177609分配给了每个product的PL310,所以展开product lines后,你会发现First Person Star这个产品类的PL310从0变成了75920,同理,各个产品类的PL310一共增加了177609,导致All Product Lines(APL)的PL310也就增加了177609,导致APL的PL400也增加了177609,导致APL的PL600下降了177609(下降是因为成本/支出account的type是EXP expense,在聚合时会作为负数对待) 关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间    Read More Technology Blogs by SAP articles 

#SAP

#SAPTechnologyblog

You May Also Like

More From Author