本文档内容是基于我个人对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.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_COA
ENTITY 对Admin_ORG
PRODLINE对Admin_PRD
SIGNEDDATA对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,感谢你的时间
本文档内容是基于我个人对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