敏捷开发(Anaplan)

565 阅读1小时+

LEVEL2 介绍

关于LEVEL2模型构建

在你开始之前

重要的:

在开始 2 级模型构建之前,您应该已成功完成 1 级模型构建(按需或讲师指导)培训计划和考试。

在 Level 2 Model Building 中,您将学习更高级的模型构建程序和最佳实践,并练习您在 Level 1 Model Building 培训中学到的模型构建技能。

该课程分为主题部分,旨在按规定的顺序完成。

请务必按顺序完成 2 级模型构建的所有部分。课程顺序将引导您完成一系列渐进活动,您将在组织的 Anaplan 工作区中构建两个模型(一个数据中心和一个以供应链为中心的模型)时完成这些活动。您将使用在整个培训活动中构建的模型作为完成本课程中四门考试的基础。

2 级模型构建培训计划分为三个冲刺 - 就像现实生活中的 Anaplan 实施项目。每个冲刺都将关注项目用户故事所捕获的最终用户的需求。

需要基本的 UX 页面构建技能

在学习第 2 级之前,您应该已经熟悉构建基本的 UX 页面。构建 UX 页面并不难,但您需要了解它们才能开始。

基本的 UX 页面构建技能现在在 1 级模型构建以及独立课程中教授:Anaplan 的新用户体验,可在 Anaplan 学院学习中心获得。

培训目标

完成 2 级模型构建后,您将能够:

  • 解释敏捷实施方法论的要素
  • 构建数据中心模型
  • 将数据从一个模型导入到另一个模型
  • 设置导入/导出流程
  • 为最终用户访问设计安全解决方案
  • 构建动态图表
  • 描述使用保存的视图、导出和过滤器的推荐最佳实践
  • 解释应用程序生命周期管理 (ALM) 功能
  • 描述和使用行项目子集
  • 确定何时使用编号列表
  • 解释版本功能

Anaplan访问要求

要完成此培训计划,您将需要您组织的 Anaplan 工作区和工作区管理员权限的登录凭据。

工作区访问:

  • Anaplan 员工: 登录 Okta,然后单击 Anaplan 磁贴以访问您的 Anaplan 工作区。
  • 合作伙伴: 联系您的 Anaplan 管理员以获得对您的 Anaplan 工作区的访问权限。
  • 客户: 联系您的 Anaplan 管理员以获得对您的 Anaplan 工作区的访问权限。

工作区管理员权限:

  • 您将需要 Workspace 管理员权限才能完成此程序。

访问Anaplan的新建模体验

我们建议您在完成本课程时选择加入新的建模体验,以便您的模型视图与课程中显示的示例和活动相匹配。

help.anaplan.com/4fb7dde6-03…

训练顺序

二级模型构建培训计划分为三个项目冲刺,旨在按规定的顺序完成。

课程顺序将引导您完成一系列活动,以便在您为客户构建两个模型时完成:数据中心和供应链模型。

您将使用您在课程中构建的模型进行四次检查:一次在每个项目冲刺结束时进行,一次在培训计划结束时进行。

在学习过程中不要跳过任何活动。如果您跳过活动或乱序完成活动,您的模型可能无法提供完成考试所需的所有功能。

2 级模型构建培训计划序列

  • 介绍
  • Sprint 1:数据中心
  • Sprint 2:需求计划流程
  • Sprint 3:库存计划流程
  • 结论

培训内容

Level 2 Model Building 培训计划包括多种类型的培训内容。 单击每个部分以更加熟悉整个 2 级模型构建中使用的组件:

模型构建活动

在 Level 2 Model Building 中,您将有机会通过动手练习活动来练习和扩展您的模型构建技能和经验。该课程将指导您为 Unicorn Candy Company 构建两个 Anaplan 模型。

随着训练的进行,完成模型构建任务非常重要。任务按顺序组织。

提示:使用多个显示器完成训练计划可能会有所帮助,以便在一个屏幕上查看训练内容并在另一个屏幕上访问 Anaplan。

解决方案架构师 - 您的教练

Level 2 Model Building 培训基于与 Unicorn Candy Company 的模拟 Anaplan 实施项目。

解决方案架构师将为您将完成的动手模型构建活动以及总体项目计划提供指导和说明。

解决方案架构师提供有关模型构建活动的“操作方法”和“为什么”以这种方式组织和构建模型的提示。

Anaplan Solution Architect

项目背景资料

当您完成 2 级模型构建时,您将扮演 Anaplan 客户 Unicorn Candy Company 的模型构建者的角色。

动手模型构建活动将指导您为 Unicorn Candy Company 创建数据中心和供应链模型。

随着培训的进展,您将获得有关 Unicorn Candy Company 产品、数据或用户的其他背景信息,您将希望查看这些信息以更好地了解您在模型中构建的内容,而不仅仅是如何构建它。

微课

微型课程是简短的 Anaplan 平台培训教程,提供有关许多模型构建活动的概念或分步演示的更多信息。

这些教程并不特定于 Unicorn Candy Company 模型构建;相反,这些教程回顾了常见的 Anaplan 平台最佳实践和主题提示,例如创建模块和列表、导入数据和构建用户体验页面。

即使在完成 2 级模型构建培训后,您可能还想再次复习微型课程。微型课程可在 Anaplan 社区(学院:按需课程)中获得

注意:微课程可用于经典建模界面和新建模体验。您可以在 Anaplan 模型主屏幕上打开和关闭新模型体验。

重要的:

在整个 2 级模型构建过程中完成模型构建活动时,在创建模块和行项目时准确使用活动说明中提供的名称非常重要。

未能准确命名行项目将导致公式中使用的引用不准确,并将对您在 2 级模型构建考试中的成绩产生负面影响。

使用你的资源

Anaplan Solution Architect

“Level 2 Model Building 培训计划活动旨在加强您在 Level 1 Model Building 中学到的模型构建基本技能,并提供机会扩展您的技能和经验,从而变得更加独立和精通模型构建。

模型构建活动将提供构建模型所需的特定信息,但不提供每个活动的分步说明。我鼓励您在必要时复习一级模型构建培训课程,并使用您可用的技术文档资源。”

资源链接:

培训材料免责声明

Anaplan 培训材料免责声明

Anaplan 培训材料旨在帮助理解 Anaplan 模型构建能力,并且是提供有关所涵盖主题的最新和准确信息的工具。培训材料的分发和呈现的前提是 Anaplan 不提供任何会计、法律或其他专业建议。这些材料仅用于培训目的。所描述的一些程序和其他做法可能与实际工作环境不同。

培训材料中的材料可能包括技术错误或印刷错误。培训材料可能会定期进行更改。Anaplan 可能随时改进和/或更改这些材料中描述的产品、服务和/或工作辅助工具,恕不另行通知。

每个参与 Anaplan 培训活动的人都对自己的培训承担全部责任。Anaplan 或其员工均不保证或就培训材料中材料或信息的使用或使用结果作出任何陈述。这些培训材料按“原样”提供。

未经 Anaplan 事先书面同意,不得出于商业目的使用或复制培训材料。

所有培训材料仅供培训之用。不得与公众一起使用、分发或引用。© 2022 Anaplan, Inc. 版权所有。保留所有权利。专有和机密。

项目背景

独角兽糖果公司背景资料

关于独角兽糖果公司

Unicorn Candy Company 是一家国际糖果公司,在 13 个国家/地区设有 40 多个办事处和生产基地。该公司生产四种产品类别的 50 多种糖果——巧克力、酸味糖果、太妃糖和软糖。

在实施 Anaplan 之前,每个业务领域都维护着单独的数据系统和电子表格,这些数据系统和电子表格需要花费大量时间来整合和协调,以全面了解生产、销售、收入和支出的绩效。

财务规划与分析 (FP&A) 模型

在 Level 1 Model Building 中,您为 Unicorn Candy Company 构建了财务规划和分析 (FP&A) 模型,允许最终用户快速访问实际、预算和预测数据。

在实施和使用财务规划与分析 (FP&A) 模型后,Unicorn Candy Company 的高管们对 Anaplan 的强大功能感到非常兴奋。他们希望能够使用 Anaplan 来帮助解决其他痛点。

供应链模型

在情人节前夕某些巧克力缺货后,Unicorn Candy Company 决定将注意力集中在管理库存和添加供应链模型上。可以将供应链需求和费用预测纳入财务模型。

数据中心模型

Unicorn Candy Company 的第一个 Anaplan 模型专注于财务。它还包括可以包含在特定于针对不同业务领域或目的、产品、员工和位置进行规划的模型中的数据。

例如,产品信息可用于侧重于降低制造成本的模型,或者可用于规划新产品的推出。

与 Unicorn Candy Company 利益相关者合作的 Anaplan 顾问建议将数据整合到数据中心模型中。

数据中心提供单一、安全的规划数据源。模型相互连接,因此来自供应链模型的数据通知财务模型的用户,来自财务模型的数据通知销售模型的用户,等等。

组织中的每个人都在使用最新和最准确的数据。组织中的人员可以进行更多的协作、更深入的见解和更快的协调。

敏捷实施方法论

" 在开始构建模型之前,让我们看一下用于 Anaplan 项目的敏捷实施方法。

敏捷方法对于有效的 Anaplan 构建至关重要。

Anaplan 具有如此多的功能,如果没有敏捷方法,项目很容易快速扩展到超出交付时间的范围。

敏捷方法还迫使团队不断考虑最终用户的需求并测试输出以确保它符合他们的标准。

毕竟,最终用户是我们构建模型的原因。”

行动敏捷

" 在开始构建模型之前,让我们看一下用于 Anaplan 项目的敏捷实施方法。

敏捷方法对于有效的 Anaplan 构建至关重要。

Anaplan 具有如此多的功能,如果没有敏捷方法,项目很容易快速扩展到超出交付时间的范围。

敏捷方法还迫使团队不断考虑最终用户的需求并测试输出以确保它符合他们的标准。

毕竟,最终用户是我们构建模型的原因。”

Anaplan Way 课程现已在学习中心按需提供。

项目启动(kick-off)

听取专家的经验。

皮特阿蒙森:
  • 从客户选择 Anaplan 的原因开始
  • 了解痛点
  • 他们想通过 Anaplan 实现什么
  • 开始到结束的业务流程 多个会话
  • 产品负责人,未来的 Anaplan 工作区管理员
  • 来自每个业务领域的主题专家
  • 数据专家解答数据集成问题
西蒙·里奇
  • 全队参加
  • 讨论/展示 Anaplan 在产品和实施过程中的不同之处
  • 产品赞助商参加并分享他们选择 Anaplan 的原因至关重要
基思·杰克逊
  • 让执行发起人告诉团队他们为什么选择 Anaplan
  • 团队介绍
  • 时间期望
  • 解释是什么让他们成功
  • 实施方法
  • 客户流程
叶莲娜·凯瑟曼
  • 所有利益相关者都应该参加
  • 列出实施方法
  • 深入了解客户目前在做什么,他们面临的问题,以及选择 Anaplan 的主要原因 -一般时间表和期望
  • 项目“必备”
  • 了解端到端的业务流程
  • 回顾每个人的角色和期望
  • 用户需求收集
罗伯·马歇尔
  • 减轻心情
  • 深入了解他们现在所处的位置以及他们希望通过 Anaplan 实现的目标
  • 主题专家 (SME)、管理员和执行发起人都应出席

Anaplan培训和规划(PKO)

单击专家以了解他们所见过的常见错误

皮特·阿蒙森

常见错误:

  • 遗漏了验收测试标准
基思·杰克逊

常见错误:

  • 遗漏了验收测试标准
  • 过多关注异常(也称为角落)用例
罗伯·马歇尔

常见错误:

  • 用户故事模糊或缺乏细节
  • 不了解客户希望最终产品(即仪表板、报告等)的外观
西蒙·里奇

避免常见错误的提示:

  • 完成史诗列表
  • 将史诗分解为用户故事
  • 验证大用户故事是否存在
  • 不要挂断特定语言
  • 记住:模型构建者需要能够从用户故事中推导出他们构建所需的内容
叶莲娜·凯瑟曼

避免常见错误的提示:

  • 让客户输入用户故事
  • 提供一定程度的客户评论
  • 避免模糊的用户故事
  • 你需要什么尺寸?
  • 数据在哪里?
  • 是否有所需最终结果的模型可用,或者可以制作一个吗?

冲刺开始

团队开始研究模型 在每日 Scrum 电话会议上报告进度 座右铭:“昨天,今天,有什么障碍?”

了解专家可能使项目时间表脱轨的风险

皮特阿蒙森

在以下情况下,项目可能会脱轨:

  • Anaplan冠军失去了动力 保持项目正常运行的提示:
  • 设定切合实际的期望 -说实话
  • 识别和升级风险
基思·杰克逊

在以下情况下,项目可能会脱轨:

  • 关注未涵盖大部分模型功能的异常或极端情况
罗伯·马歇尔

在以下情况下,项目可能会脱轨:

  • 没有足够的时间用于构建
  • 失去兴趣
  • 注意兴趣减弱的迹象
西蒙·里奇

在以下情况下,项目可能会脱轨:

  • 对每个人正在建设的东西缺乏清晰度和远见
  • 用户故事级别太高
  • 过于依赖一个人来承担重担
  • 有坏的、混乱的或丢失的数据
  • 工作区大小从一开始就没有管理
叶莲娜·凯瑟曼

项目可能会在以下情况下脱轨:

  • 缺乏承诺
  • 缺少数据或缺少对齐数据
  • 决策过程中出现瓶颈

实施流程

发展仍在继续

用户故事已完成或重新确定优先级

召开 Sprint 评审会议

计划未来的冲刺

用户验收测试 (UAT)

Sprint 以 Sprint 回顾结束 每个用户故事的演示 Go-Live 之前是 UAT/Tweak 阶段 听听每个专家以了解 UAT

基思·杰克逊
  • 尽早开发测试用例
  • 确定测试人员
  • 为测试设置数据和角色
  • 设置 UAT 会议
  • 设置用户和测试访问
  • 建立错误报告清算中心
  • 在 UAT 结束时举行正式的通过/不通过会议
罗伯·马歇尔
  • 监督 UAT 测试人员
  • 进行 UAT 发布和每日跟进电话
  • 请注意,全球推广更加困难
西蒙·里奇
  • 如果操作得当,UAT 可以成为一个强大的工具
  • 如果 UAT 做错了,你可能会失去支持者
  • 最好的体验是让人们在同一个房间进行测试;否则,必须使用测试脚本
  • UAT 时间很重要
叶莲娜·凯瑟曼
  • 分配至少一周时间进行 UAT 测试
  • 提前确定 UAT 测试人员
  • 客户应驾驶测试

用户故事

需求的高级定义 捕获需求的人员、内容和原因 识别用户、操作和所需的结果 由标题、描述、验收标准和任务组成 独立但可以聚集在一起成为史诗 史诗有时被称为功能区 商务SME第一人称撰写

用户故事模板和示例

用户故事模板: 作为<role,potentially in a certain situation>,我可以 verb noun,这样我 achieve some goal/bene 这不同于 historical process/task by A and B(如果相关)。 这是一个 level of criticality 请求,当 X、Y 而不是 Z 是 acl 时,我会知道它已实现

编写优秀的用户故事

如何写出好的用户故事

  • 独立——用户故事应该相互独立
  • 可协商——用户故事是对话的起点
  • 有价值——需要对客户有价值
  • 可估计——开发人员需要能够估计故事的优先级
  • 小——用户故事越长,在范围界定和估算中出错的可能性就越大
  • 可测试 - 一个故事需要可测试才能发生“确认”
用户故事 - 注意事项

利益相关者编写用户故事,而不是开发人员

使用最简单的工具 记住非功能性需求 指出实施故事的估计规模 表明优先级 添加用于跟踪的唯一标识符

示例完成的用户故事:
  • 磁贴:能够查看分配给销售代表的帐户的详细信息
  • 描述:作为销售运营分析师,我需要能够查看分配给特定销售代表的所有账户,包括账户的重要属性,例如 TAM、前一年的销售额、seqmentation,以便我可以验证我有根据代表的角色分配客户。 痛点:目前有一个“Rep Account Review”报告(),但字段不会自动更新为最新数据
  • 输入:代表 ID
  • 输出:账户清单
  • 方法:选择该销售代表的客户
  • 优先级:关键
  • 验收:
  1. 查看一次只显示 1 位销售代表。
  2. 查看只显示销售代表的账户
  3. 账户属性准确填充并自动更新
Sample completed user story:
  • Tile: Ability to view details of accounts assigned to a sales rep
  • Description: As a sales operations analyst,I need to be able to review all of the accounts assigned to a particular sales rep,including important attributes of the accounts such as TAM,prior year sales,seqmentation,so that I can verify I have assigned accounts in alignment with the rep's role. Pain Point: There is currently a "Rep Account Review" report (attached) but the fields do not automatically update with the latest data
  • Inputs: Rep ID
  • Outputs: List of Accounts
  • Methodology: Select Accounts with that Sales Rep
  • Priority: Critical
  • Acceptance:
  1. View only shows 1 sales rep at a time.
  2. View only shows that sales rep's accounts
  3. Account attributes are accurately populated and automatically updated

项目启动(kick-off)

项目概况

为了开始这个新的 Anaplan 实施项目,Unicorn Candy Company 的利益相关者及其 Anaplan 咨询团队召开了项目启动会议(PKO)。

查看以下信息以了解有关项目范围、目标和最终用户需求的更多信息。

项目概况

在一个非常高的层次上,这个供应链实施项目将分三个冲刺进行,并将专注于构建数据中心和供应链模型以满足最终用户的需求。

项目目标

供应链实施项目的目标是:

  • 为模型/计划中和跨模型/计划使用的通用数据开发单一来源。
  • 提高需求预测的准确性并减少得出最终预测所需的时间。
  • 通过更好地管理我们配送中心的库存水平来维持或提高客户服务水平,同时降低成本。

项目宣言

在这个项目中,项目组将构建两个模型。

数据中心模型

数据中心模型将作为列表层次结构及其相关细节的真实来源,以及数量、成本和约束的历史和参考数据。

数据中心模型将包含列表和模块结构,用于填充我们的辐射模型(例如,供应链、财务规划和分析 (FP&A))中的匹配结构。

供应链模型

该项目还将包括供应链模型构建。该模型将用于开发更准确的产品需求预测,并推动有关产品再订购时间、数量和配送中心运输方式的有效决策。

具体来说,供应链模型将用于使用历史量数据和增长率假设来制定自上而下的初始需求预测,并通过客户账户自下而上的输入来完善预测,从而得出最终需求预测。

最终需求预测将用于制定和调整向我们的配送中心供应产品的计划。

最终用户将能够调整订单数量并更改从工厂到配送中心的运输方式,以满足客户订单履行服务水平和/或降低运输成本。

然后,最终需求预测和运输费用数据将从供应链模型传输回财务规划和分析模型。

项目利益相关者

会见该项目的利益相关者。

产品系列经理

在 Unicorn Candy Company,产品分为四个产品系列 - 巧克力、酸巧克力、太妃糖和软糖。

产品系列经理负责其中一个产品系列。

产品系列经理是其产品系列中所有产品的决策者。他或她根据历史销量数据以及客户季节性、促销活动和糖果消费趋势的影响创建自上而下的初始需求预测。

客户需求经理

在 Unicorn Candy Company,客户需求经理负责销售到各个客户帐户的产品线。他们审查帐户持有哪些产品 SKU 以及帐户何时需要这些产品。

客户需求经理创建自下而上的数量预测(最终需求预测),用于调整和平衡由产品系列经理创建的自上而下的产品数量预测(初始需求预测)。

产品供应经理

Unicorn Candy Company 拥有遍布全球的配送中心网络,可将产品订单配送至每个客户。

产品供应经理负责确保在正确的位置及时提供正确的产品以满足客户的需求。

区域副总裁

Unicorn Candy Company 是一家全球性组织。该公司的地点分为三个区域——美洲 (AMER)、欧洲 (EMEA) 和亚太地区 (APAC)。

区域副总裁负责监督其指定区域的所有业务运营,包括生产、分销和客户管理

Anaplan 解决方案架构师

Anaplan 解决方案架构师在构建 Anaplan 模型方面拥有丰富的经验。

解决方案架构师利用他们的技能和经验来审查客户需求和最终用户需求,以设计和指导模型的构建。

在此项目中,解决方案架构师会将项目组织成冲刺,构建初始模型的某些方面,并为模型构建者(您!)提供指导和指导。

模型构建者(您!)

在这个项目中,您是模型构建者。您将完成构建列表、模块和用户体验的活动,以满足 Unicorn Candy Company 最终用户的需求。

业务流程

Unicorn Candy Company 供应链计划流程

Unicorn Candy Company 供应链计划流程可以分为两个业务流程 - 需求计划和库存计划。

需求计划流程

需求计划流程的第一步是查看历史卷数据。历史销量数据包括每个客户帐户在上一年每周订购的产品 SKU 单位数量。

历史卷数据被结转到当前计划年以建立基线需求预测。通过根据上一年的数据预测当年的产品需求量,将保持季节性和产品销售模式。

例如:客户账户 Candyate 在 2019 年第六周订购了 100 件 Planutbutter Krisp_EN 产品 SKU。基准需求预测将预计在 2020 年第六周订购 100 件相同产品 SKU。

产品系列经理按产品系列输入每月销量增长率 (%)。此百分比增长应用于作为其产品系列成员的每个产品(和产品 SKU)的基线需求预测数据。

体积增长率应用于基线需求预测数据 - 根据客户帐户对每个产品 SKU 的预计每周需求量建立初始需求预测。

例如:巧克力产品系列经理指定 2020 年 2 月的销量增长率为 5%。

巧克力产品系列中每种产品在 2020 年第 5-8 周的基准需求预测将乘以 105% 以建立初始需求预测。

使用之前的客户和产品 SKU 示例,Candyate 帐户的初始需求预测,Planutbutter Krisp_EN 产品 SKU 在 2020 年第 6 周为 105 个单位。

接下来,客户需求经理审查为其分配的客户帐户的初始需求预测。

客户需求经理根据他们对客户的本地了解,对初始需求预测中的预计产品 SKU 需求量进行手动调整。每周针对每个客户帐户对每个产品 SKU 进行调整。

例如:分配给 Candyate 客户帐户的客户需求经理审查了 2020 年第 6 周 Planutbutter Krisp_EN 产品 SKU 的初始需求预测。

客户需求经理回忆说,Candyate 实际上在 2019 年 2 月期间遇到了 Planutbutter Krisp 的产品短缺。

客户需求经理手动覆盖 Planutbutter Krisp_EN 产品 SKU 的客户初始需求预测,并将 2020 年第 6 周的预计单位数增加到 115。

在客户需求经理审查其指定客户的初始需求预测并进行任何调整后,结果是当年预计产品 SKU 数量需求的最终需求预测。最终需求预测数据将用于库存计划流程。

库存计划流程

Unicorn Candy Company 库存计划流程的目标是为每个配送中心确定最有效和最具成本效益的每月产品补货订单计划,以保持足够的产品 SKU 库存以满足客户账户需求,最大限度地减少运输费用,并创造财务团队的运输费用预测。

产品供应经理使用来自需求计划流程的最终需求预测数据开始库存计划流程。最终需求预测提供了满足客户账户每周需求所需的产品 SKU 单位数量。

汇总最终需求预测的每周产品 SKU 需求,以确定配送中心每个产品 SKU 本月的初始建议订单量。

产品供应经理审查多个因素以确定最有效和最具成本效益的产品订单计划。首先,他们按每个配送中心的产品 SKU 查看期初库存或期初库存数据。期初库存是目前位于配送中心的单位数量。

然后,产品供应经理还必须审查配送中心每个产品 SKU 的安全库存目标。安全库存目标是必须在配送中心库存中维护的每个产品 SKU 的最小数量,以降低产品用完的风险以满足客户账户需求。

库存计划流程的另一个组成部分是审查每个配送中心的容量并确认是否有空间可用于额外的产品 SKU 库存。产品供应经理审查配送中心的容量和满负荷百分比。

库存计划流程允许产品供应经理调整或覆盖产品 SKU 的当月建议订单量,以更改订购的库存数量、下订单的时间表以及订单的运输方式。

库存计划流程的结果是产品补货订单的暂定时间表,以确保有足够的可用库存来满足客户帐户的需求。订单预测数据还允许供应链组织为 Unicorn Candy Company 的财务团队提供运输费用预测。

用户故事

查看为实施项目开发的以下用户案例。这些最终用户需求将指导数据中心和供应链模型的构建。

数据中心模型:用户故事

Data Hub 模型的用户是模型构建者。

项目团队捕获了四个 Model Builder 用户案例。

模型生成器:用户案例 1

作为模型构建者,我需要一个中心位置,我可以在其中更新和导入 Unicorn Candy Company 的地区、国家和位置层次结构详细数据。

我需要这个,因为它很耗时,如果我必须在多个位置进行更新,则错误或遗漏的风险更高。

当我可以更新列表项并看到此更改显示在所有相关模型中时,我就知道这是成功的。

模型生成器:用户案例 2

作为模型构建者,我需要一个中央位置,我可以在其中更新和加载 Unicorn Candy Company 产品和产品系列详细数据。

我需要这个,因为它很耗时,如果我必须在多个位置进行更新,则错误或遗漏的风险更高。

当我可以更新列表项并看到此更改显示在所有相关模型中时,我就知道这是成功的。

模型生成器:用户案例 3

作为模型构建者,我需要一个中心位置,我可以在其中为每个配送中心导入 Unicorn Candy Company 的产品历史销量和期初库存数据。

我需要这个是因为我需要在后续的模型计算中引用这些数据,这很耗时,如果我必须在多个位置上传它,则错误或遗漏的风险更高。

当我可以导入历史量和期初库存详细信息并查看所有相关模型中显示的更改时,我就知道这是成功的。

模型生成器:用户案例 4

作为模型构建者,我需要一个中心位置,我可以在其中更新和导入 Unicorn Candy Company 运输指标和配送中心参数数据。

我需要这个是因为我需要在后续的模型计算中引用这些数据,这很耗时,如果我必须在多个位置上传它,则错误或遗漏的风险更高。

当我可以导入运输指标和配送中心参数并看到所有相关模型中显示的更改时,我就知道这是成功的。

供应链模型:用户故事

供应链模型将有 4 个最终用户。

第一个最终用户是产品系列经理,他有一个用户故事。

产品系列经理:用户故事 1

作为产品系列经理,我需要能够为我的产品系列输入每月产品需求量增长率百分比。

我需要能够手动输入未来所有月份的月度产品需求量增长率百分比增量值或上传包含这些值的 .csv 文件。

当我可以调整我的产品系列的产品需求量增长率并看到它对初始需求预测的影响时,我就知道这已经完成。

客户需求经理还将使用供应链模型。

查看他们的两个用户故事。

客户需求经理:用户案例 1

作为客户需求经理,我需要能够看到通过将产品系列经理提供的产品需求量增长率应用于去年的产品需求量计算得出的初始需求预测。

初始需求预测将在每个账户的产品 SKU 级别每周计算一次。

当我可以查看帐户的每个产品 SKU 的每周初始需求预测时,我就知道这已经完成。

客户需求经理:用户案例 2

作为客户需求经理,我需要能够按周覆盖产品 SKU 级别的初始需求预测。

我希望能够看到初始需求预测,然后手动输入新值。我需要一种方法来快速识别哪些值已被覆盖。

当我可以选中一个框来选择要覆盖的产品和周、输入新的需求预测值并查看更新的最终需求预测时,我就知道这已经完成。

产品供应经理有四个用户故事,供应链模型将满足这些用户故事。

产品供应经理:用户案例 1

作为一名产品供应经理,我需要能够决定何时从我们的工厂重新订购产品以补充配送中心的库存。我需要按产品 SKU 按周提交采购订单请求。

这很关键,因为如果我不及时重新订购产品,配送中心的库存将低于安全库存目标,可能无法满足客户需求。但是,如果我过早地重新订购产品,公司将承担更高的库存持有成本,并且配送中心可能会超负荷运转。

当我可以看到按产品 SKU 列出的期初库存、预测需求和期末库存(与安全库存目标相比)的每周数据,并且我可以选中一个框以指示已提交的采购订单请求并查看每周通过预计产品 SKU 量的额外库存流量。

产品供应经理:用户故事 2

作为产品供应经理,我需要能够按周更改产品 SKU 的运输方式。这很关键,因为如果配送中心无法满足最终预测需求,我可能需要更改运输方式,以便我可以更快地从我们的工厂获得产品并有足够的库存来满足客户需求。

当我们可以提前足够远的计划时,我也可能想覆盖并使用较慢的运输方式来节省资金。

当我可以通过在单个星期内为单个产品 SKU 选择新的运输方式来覆盖默认运输方式并且当我可以看到运费的变化时,我就知道这已经完成了。

产品供应经理:用户故事 3

作为产品供应经理,我需要能够按周更改产品 SKU 的默认订单数量。这很关键,因为如果配送中心无法满足预测需求,我可能需要更改订单数量,以便我可以从我们的工厂获得更多产品并有足够的库存来满足客户需求。

如果配送中心有容量限制,或者如果我要权衡运输成本和库存持有成本,我也可能想要覆盖并订购调整后的数量。

当我可以通过输入单个产品 SKU 在单个星期内修改后的订单金额来覆盖建议订单金额并按周查看预计产品 SKU 量的变化流时,我就知道这已经完成。

产品供应经理:用户故事 4

作为一名产品供应经理,我需要能够快速确定我所在地区的配送中心预计何时会低于其安全库存(每周最低库存水平)目标。

我需要能够找到存在风险的配送中心、产品和周。该报告称为我的股票异常报告。

当我可以看到在产品系列、国家/地区和月份级别标记的异常,然后向下钻取以找到 SKU 和周时,我就知道这已经完成。

最后,区域副总裁也将是供应链模型的最终用户,具有单一用户故事。

区域副总裁:用户案例 1

作为区域副总裁,我需要审查我所在区域所有配送中心的预计异常情况的月度摘要。这些异常包括库存异常和产能利用率超额。

我还需要快速定位单个配送中心的资料——它携带的产品、它的容量和它使用的标准运输方式。

我需要这份摘要,以便我可以跟进我的产品供应经理,以解决任何会影响 Unicorn Candy Company 满足需求和预期客户服务水平的能力的库存异常。

当我可以看到我所在地区的配送中心列表以及按月标记的库存异常和产能过剩时,以及当我可以深入到单个配送中心以查看其概况时,我就知道这已经完成。

模型设计和项目计划

模型设计注意事项

“Anaplan 作为平台的最大优势之一是它的灵活性。Anaplan 可以在组织内的所有业务职能部门实施——人力资源、财务、销售、供应链等。

有了所有的可能性,在没有设计完整解决方案的情况下跳入并开始在平台中构建模型可能很诱人。

在设计模型之前了解模型将用于的业务流程、用户工作流程以及最终用户希望如何与数据交互非常重要。

设计一个同时考虑当前用例和未来潜在扩展的模型将节省时间,创造更好的最终用户体验,并提高模型性能。”

使用计划(PLANS)

PLANS标准

PLANS 标准所依据的特征包括:

  • 表现。 结构和公式如何影响平台的性能?
  • 可用性。 用户是否能够理解如何与功能交互? 新模型构建者是否能够快速上手?
  • 可持续性。 模型构建者和支持人员能否轻松维护模型?

挑战问题1

如果您不熟悉以下问题中包含的模型构建元素,请尽量猜测答案,并阅读答案反馈以了解 PLANS 标准如何影响模型构建的许多方面。

  • 性能: 在每次冲刺后,使用“适用于”功能确保维度与常规列表的顺序相同

  • 逻辑:

    创建一个模块来保存时间函数(例如,CURRENTPERIODSTART)

  • 可审核:

    采用长公式并尽可能将功能分成行项目

  • 必要的:

    为另一个详细计算的行项目引用的计算关闭汇总计算。

  • 可持续的:

    使用时间范围来规划在模型日历之前或之外的活动

挑战问题2

员工可选择保险Plan A、Plan B,或不投保。 大约 30% 选择 B 计划,20% 选择 A 计划。考虑如何优化绩效,创建一个 IF THEN 公式来计算所有员工的保险费用。 在文本框中输入您的公式,然后单击答案将您的公式与正确答案进行比较。

挑战问题 员工可选择保险Plan A、Plan B,或不投保。 大约 30% 选择 B 计划,20% 选择 A 计划。考虑如何优化绩效,创建一个 IF THEN 公式来计算所有员工的保险费用。 在文本框中输入您的公式,然后单击答案将您的公式与正确答案进行比较。

If No Insurance THEN 0 ELSE IF PLAN B Then Insurance costs. Plan B ELSE Insurance costs.Plan A

解释:为什么? 最大的一组员工没有保险,第二大的一组有 B 计划,最小的一组有 A 计划。这种计算顺序允许引擎以最快的速度运行,因为最常见的情况是最先发生的

挑战问题3

哪些 SELECT 公式不符合 PLANS 标准

  • 〇SELECT [TIME.'FY18']
  • ×SELECT [TIME.CURRENTPERIOD]
  • ×SELECT [TIME.ALLPERIODS]

挑战问题4

Q: 使用命名约定(例如,P1 产品品牌、P2 产品系列、P3 产品)是遵循哪条准则的示例?

A: 可审核

挑战问题5

Q:不使用长时间尺度的 RANK 函数是遵循哪条准则的一个例子?

A:性能

挑战问题6

Q:为什么最好不要在版本设置中使用公式(例如,实际 - 预算)?

×模型历史不会跟踪此计算的更改,因此不可审核

×它会降低模型性能,违反性能标准

〇每次在模块中使用版本时,它都会增加模型的大小,即使不需要差异(Acual - Budget)。这违反了 Necessay 标准。

×计算只能在行项目中运行,因此这违反了逻辑标准。

挑战问题7

Q:在创建用户体验时,安排流程以与业务流程保持一致,保持屏幕整洁,并提供良好的说明都适用于哪个 PLANS 标准?

A:可审计

PLANS总结

模型大小和维度

维度和单元格

  • 模块使用维度 (时间、版本、列表)为行项目中的数据提供上下文
  • 单元格 - 与订单项关联的所有维度的单个交集
  • 模型尺寸 - 与模块中包含的单元格数量有关

模型大小

模型大小 = 工作区中活动模型单元使用的总内存 也称为利用率 通过将鼠标悬停在“模型信息”图标上或在“管理模型”对话框中查看模型大小。

模块大小

在模块内容窗格中按模块查看单元格计数

行项目大小

在模块的蓝图视图中按行项目查看单元格计数

计算大小

模型尺寸由以下因素决定:

  • 单元格数
  • 列表的大小
  • 行项目或列表属性的格式

要计算模型的实际尺寸,包括:

  • 行项目大小 = 单元格数 * 由其格式决定的利用率
  • 列表大小 = 500 字节/成员
  • 列表属性大小 = 列表成员的数量(不包括父项)* 由其格式确定的利用率

CalculatingSize

使用适当的维度来最小化模型大小

不相关的尺寸会增加不必要的计算和尺寸。

  • 在每个模块中,仅使用与您的数据相关的维度。
  • 许多系统模块仅使用一维+行项目。 如果数据共享某些维度,但不是所有维度,则将其拆分为单独的模块。

减少模型尺寸的其他方法

  1. 将严格作为标题/分隔符的行项目格式化为无数据
  2. 如果不需要摘要,则将 Summary 方法设置为 None

稀疏与密集

稀疏 = 不会填充的单元格 密集 = 将填充的单元格 除非格式化为无数据,否则空单元格是密集的 稀疏度* = 不会填充基本或有用数据的单元格的百分比

概括

模型尺寸由 :

  • 细胞数
  • 列表的大小
  • 行项目或列表属性的格式

使用适当的维度: 模块中的所有维度都应该与该模块中的所有数据相关

项目模型架构和冲刺计划

“在收集需求、审查业务流程和创建用户故事之后,项目团队确定了项目的优先级。

我根据最终用户的优先级和需求创建了一个模型设计。

该项目的范围将包括构建两个模型:数据中心模型和供应链模型。

我已根据优先级和依赖性将项目任务组织成三个冲刺。在继续之前查看模型架构和项目冲刺计划。”

模型架构

冲刺计划

Sprint 1:数据中心模型

Sprint 1 将专注于添加数据中心模型。

数据中心模型将包括以下功能:

  • 构建地理层次结构和详细信息
  • 构建产品层次结构和详细信息
  • 加载历史产品量和期初库存
  • 负载分配中心数据和运输指标
Sprint 2:供应链模型——需求计划

Sprint 2 将专注于添加供应链模型。

在此冲刺期间,供应链模型构建将为最终用户提供以下能力:

  • 按产品系列输入每月产品量需求增长率
  • 按产品 SKU 按周和帐户查看初始需求预测
  • 覆盖初始需求预测以创建最终需求预测
Sprint 3:供应链模型——库存计划

Sprint 3 将在供应链模型中包含额外的功能。

在此冲刺期间,供应链模型构建将允许最终用户:

  • 查看配送中心详细信息 - 包括期初库存和产能
  • 查看库存异常报告
  • 查看采购订单请求时间
  • 覆盖重新订购的运输方式
  • 覆盖帐户的建议订单金额
结论

在 Sprint 3 之后,您将完成一些额外的构建活动,包括一些使用在 Level 1 Model Building 中创建的 Financial Planning & Analysis 模型的活动。

这些活动将使最终用户能够:

  • 导出库存订购数据以供下游系统使用
  • 完成模型到模型的运输费用和最终需求预测的进口
  • 将缩写的损益表转换为当地货币

介绍清单

完成 Level 2 Model Building Introduction 后,您应该更多地了解客户 Unicorn Candy Company,项目中的主要利益相关者,并对模型构建项目有一个概览。

在继续之前,请确认您已完成以下活动:

  • 确认您拥有组织的 Anaplan 工作区的登录凭据
  • 确认您对组织的 Anaplan 工作区具有工作区管理员权限
  • 审查了 Unicorn Candy Company 的背景信息、项目目标和宣言以及项目利益相关者信息
  • 审查项目的 Unicorn Candy Company 用户故事
  • 审查模型架构和项目的冲刺计划

2 级模型构建:Sprint 1

根据您的模型构建器用户案例,该项目的解决方案架构师已指定 Sprint 1 专注于构建数据中心模型。

Sprint 1 将包括以下活动:

  • 构建地理层次结构和详细信息,这将提供一个位置来更新 Unicorn Candy Company 的地区、国家和位置。
  • 构建产品层次结构和详细信息,以提供单一位置来更新将在其他模块和模型中引用的产品系列和产品数据。
  • 在单个位置加载历史产品量和期初库存,以供整个 Unicorn Candy Company 模型参考。
  • 在单个位置加载配送中心数据,以更新运输指标和配送中心信息。

2.1 SPRINT简介1

2.1.1 关于数据中枢模型

“Model Builder 用户故事侧重于需要有一个中心位置,或‘单一事实来源’,以导入数据并更新有关 Unicorn Candy Company 位置、产品、库存、客户帐户和运输的详细信息。

在 Sprint 1 中,您将构建一个数据中心模型来创建这个中央数据存储库,这些数据可以更轻松地更新并用作其他模型(例如供应链或财务规划与分析 (FP&A) 模型)中的数据源。

Data Hub 模型中信息的任何更新都将自动更新任何引用该信息的地方。

Data Hub 模型将为模型构建者节省时间并降低数据错误或信息丢失的风险。”

2.1.2 数据中枢简介

数据中心: workspace

ETL

E: Extract

T: Transform

L: Load

Workspace: Data Hub

数据中心的优势

  • 辐条模型的单一事实来源
  • 交易和主数据更新并保存在一个地方
  • 可以整合来自多个系统的数据
  • 您所有的计划者都在使用相同的数据!

数据中心团队

  • 数据中心团队监督所有数据
  • 集中协调管理和自动化
  • 提高传出数据的一致性
  • 数据中心团队可以驻留在业务或 IT 内部

在数据中心处理

  • 在数据中心内转换数据和进行数据映射可提高辐条模型的性能
  • 在 hub 中运行函数减少了对 spoke 的需求。
  • 提供更好的用户体验!

从数据中心加载

  • 允许用户验证数据
  • 加载数据会影响性能
  • 更有效地只发送需要的数据说话
  • 接收到的数据越少意味着对辐条资源的需求越少

数据整合

  • 将数据移入和移出 Anaplan
  • 多种集成选项
  • 访问社区以获取有关数据集成的更多信息

2.1.3 验证集线器中的数据

2.1.4 使用选择从列表中删除

Delete from List using Selection

2.1.5 活动: 下载数据中心模型副本

“我开始构建数据中心模型的结构。在继续之前,将模型的副本下载到你的 Anaplan 工作区中。”

  • 登录到您的 Anaplan 工作区。
  • 下载:2 级数据中心模型
  • 该模型将使用经典建模界面自动打开。在继续之前将其切换到新的建模体验。
  • 通过将您的名字和姓氏添加到模型名称来重命名模型。
  • 将复制的模型标记为“收藏夹”,以便您轻松找到它。

复制模型最多可能需要五分钟。五分钟后,如果您仍然看到空白的浏览器屏幕,请刷新浏览器并搜索“Level 2 Data Hub”。

如果您无法下载或找到模型的副本,请联系 Academy@anaplan.com 寻求帮助。

Rename: Level 2 Data Hub Start Luds

2.2 数据中心模型

2.2.1 数据中心:模型模式

“查看数据中心模型的模型架构图。

数据中心模型将包括两种类型的模块——数据和系统。系统模块将包括员工、产品、地理和帐户详细信息。

数据模块将包含产品的历史订单量、配送中心信息、运输指标和期初库存(开始库存)数据。这些模块将成为供应链模型执行需求计划和库存计划业务流程的数据源。

这些模块的数据将从 .csv 文件中导入。”

数据中心:模型架构图

数据中心层次结构

Data Hub 中的数据将用于在辐射模型中构建层次结构:

地理等级
  • 区域平面列表
  • 乡村公寓清单
  • 位置平面列表
产品层次结构
  • 产品系列平面清单
  • 产品平面清单
  • SKU平面清单
员工等级
  • 部门平面清单
  • 员工公寓#列表
帐户层次结构
  • 帐户平面列表

2.2.2 数据中心: 列表

“在工作区中复制数据中心模型后,打开模型以查看当前结构。

首先,让我们看一下模型中的列表。

您可能会注意到一些列表尚未填充数据,这将是您在构建过程中的任务之一。”

数据中心列表:平面列表

Data Hub 模型包含将用作其他模型的数据源的平面列表。

平面列表没有分配顶级或父层次结构。

地区、国家、位置、产品系列、产品、SKU、规模、部门、员工和角色平面列表中的数据用于 FP&A 模型(级别 1),并已在数据中心模型中重新创建。

在一个位置(数据中心模型)更新此数据,然后将信息拉入辐条模型会更有效。

Accounts Flat 列表包括有关 Unicorn Candy Company 客户帐户的数据。

Shipping Method Flat 列表包含有关产品订单可用运输方式的运输成本和交货时间数据。

数据中心列表:尝试层次结构列表

这些列表已添加到 Data Hub Starter 模型中,供您练习从保存的视图导入到列表中以创建层次结构。

通常,您不会在数据中心模型中创建层次结构列表,而是仅使用平面列表。

P1 Product Family、P2 Products、E1 Departments 和 E2 Employees# 列表应该看起来很熟悉,因为这些列表已用于 Level 1 Model Building FP&A 模型。

2.2.3 层次结构与平面列表

如何在模型中使用分层列表和平面列表。

分层列表

  • 提供父母/子女关系
  • 以多种方式使用
  • 通常用于规划模型
  • 可用于数据中心以测试视图

平面列表

  • 交易明细
  • 指标/KPI
  • 元数据/主数据
  • 大部分数据中心列表将是扁平的

共享数据

  • 分层列表与平面列表共享相同的数据
  • 当列表成员出现在多个层次结构中时发生
  • 信息存放在一个平面列表中,并绘制成分层列表

2.2.4 避免数据中心中的层次列表

“您可能会想,‘为什么不应该在数据中心使用层次结构?’。

让我们仔细看看为什么我们在数据中心模型中使用层次结构和列表的一些最佳实践。”

“仅当您出于分析目的聚合或汇总数据时才需要层次结构。例如,如果您想查看产品系列中所有产品的总销量,您可以使用层次结构。

数据中心模型用作其他模型的数据源。最终用户不会直接访问数据中心模型;相反,他们将访问从数据中心提取数据的其他模型。无需在数据中心内创建摘要。

避免在数据中心内构建分层列表的其他原因包括:

  • 减少模型中的混乱
  • 提高模型性能
  • 更清晰地组织数据
  • 减少不必要的单元格和计算
  • 鼓励**从数据中心保存的模块视图(而不是从层次列表)引用数据的最佳实践

请记住,我在我们的数据中心模型中包含了 Try It Hierarchies 列表,以允许您(模型构建者)验证用于构建层次结构的操作是否正常运行。验证操作后,可以从我们的数据中心模型中删除 Try It Hierarchies 列表。”

2.2.5 数据中心:模块

“现在,在 Data Hub 模型中,让我们回顾一下已经构建的 Data 和 System 模块。”

数据中心:数据模块

DAT01 期初存货
  • 模块名称:DAT01 期初库存
  • 尺寸:SKU 平面清单,s 位置平面:配送中心?列表
  • 类别:主数据
行项目格式目的
期初存货数字配送中心每个产品 SKU 的期初库存盘点(期初库存)
筛选布尔值该配送中心是否持有该产品 SKU 的库存?筛选包含数据的项目(不等于 0)
DAT02 运输指标
  • 模块名称:DAT02 运输指标
  • 尺寸:产品平面清单,运输方式平面清单
  • 类别:主数据
行项目格式目的
运货时间数字按运输方式分类的时间长度
每 1000 个单位的成本数字按运输方式每 1,000 个产品单位的费用

数据中心:系统模块 - 时间设置

Data Hub 模型中有三个时间设置系统模块(按月、周和半年)。这些模块将用于过滤数据以获得更具体或更精确的已保存视图以供导入和导出。

使用时间设置系统模块进行过滤将消除时间聚合,例如从数周到数月或数月到半年和年度总计。

数据中心:系统模块 - 详细信息

数据中心模型还包括系统模块,这些模块包含基于产品、地理、员工和客户层次结构的平面列表的详细信息。

Details 系统模块将用作其他 Unicorn Candy Company 模型的数据源。

2.3 SPRINT 1- 模型构建器: 用户故事1

2.3.1 回顾模型构建器: 用户故事1

是时候开始构建了。我们将首先导入 .csv 文件来完成我们的列表。

在我们开始之前,请回顾将指导您工作的第一个用户故事。

模型生成器:用户案例 1

作为模型构建者,我需要一个中心位置,我可以在其中更新和导入 Unicorn Candy Company 的地区、国家和位置层次结构详细数据。

我需要这个,因为它很耗时,如果我必须在多个位置进行更新,则错误或遗漏的风险更高。

当我可以更新列表项并看到此更改显示在所有相关模型中时,我就知道这是成功的。

2.3.2 导入错误

2.3.3 活动: 将数据导入平面列表

2.3.3.1 将数据导入Region Flat List

  • 下载数据文件:Regions.csv
  • 将数据文件导入 Data Hub 模型中的 Region Flat 列表。
  • 请记住这是一个平面列表,不应分配父项。

2.3.3.2 将数据导入 Country Flat List

2.3.3.3 将数据导入位置平面列表

“将数据导入平面列表后,查看树视图中的列表。列表应类似于下面的示例。”

“如果您的列表有父项,请删除列表中的所有项目并在不包括父项的情况下重做导入(这些应该是没有层次结构的平面列表)。由于列表很小,您可以使用“全部删除”功能。但是,如果您有一个更大的列表 - 超过 10,000 个项目 - 并且您需要删除该列表中的超过 10,000 个项目,您将需要使用“使用选择删除”功能。”

2.3.4 活动:更新系统模块

“接下来,您已准备好在数据中心模型中构建地理系统模块。

数据中心中的系统模块将用作其他模型的数据源——“单一事实来源”——系统模块中的更新将流向引用该数据的任何其他行项目。

在每个系统模块中,确保包含标识属于层次结构的项目的代码和父项的行项目。”

正在导入数据而不是使用 PARENT 公式来引用列表中的数据,因为模型中的列表是平面的。

2.3.4.1 查看SYS05区域详情模块

  • 在 Data Hub 模型中,之前创建了 SYS05 Region Details 系统模块。
  • 模块中的代码行项目显示每个区域的代码。
  • 查看此系统模块以熟悉其中包含的信息。

2.3.4.2 更新SYS06国家详情模块

  • 在 Data Hub 模型中,之前创建了 SYS06 Country Details 系统模块。
  • 该模块包含代码和区域行项目。
  • 区域行项目将标识每个国家/地区的父区域。
  • 下载数据文件:Countries.csv
  • 将数据导入 SYS06 Country Details 模块。

2.3.4.3 更新SYS07位置详情模块

  • 在 Data Hub 模型中,之前创建了 SYS07 Location Details 系统模块。
  • 该模块包含所有必要的行项目。
  • 下载数据文件:Locations.csv
  • 将数据导入 SYS07 Location Details 模块。

2.3.5 用于导入的保存视图

解决方案架构师

“现在系统模块已更新,您将在系统模块内创建保存的视图。

这些保存的视图将被您和其他模型构建者用作其他模型的数据源。

建议的最佳做法是使用模块中保存的视图而不是列表作为导入源,因为保存的视图允许过滤并会导致更精确的导入。换句话说,您可以只导入您需要的特定数据。”

2.3.6 活动: 为导入创建保存的视图

解决方案架构师

“您将需要在每个地理系统模块中创建一个保存的视图,以用于构建和填充地理层次结构。

保存的视图会将导入限制为我们需要的特定数据列。”

2.3.6.1 创建构建区域保存视图

创建用于导入的已保存视图:

  • 模块名称:SYS05 区域详细信息
  • 保存的视图名称:构建区域
  • 包括:代码和项目

确保为代码行项目选择显示并保存视图。这将确保在添加新行项目时,它们不会包含在保存的视图中并且导入速度会更快。

2.3.6.2 创建构建国家保存视图

创建用于导入的已保存视图:

  • 模块名称:SYS06 国家详情
  • 保存的视图名称:Build Country
  • 包括:代码、区域和项目

确保为 Code 和 Region 行项目选择 SHOW 并保存视图。这将确保在添加新行项目时,它们不会包含在保存的视图中并且导入速度会更快。

2.3.6.3 创建构建位置保存视图

创建用于导入的已保存视图:

  • 模块名称:SYS07 位置详细信息
  • 保存的视图名称:构建位置
  • 包括:代码、父项和子项行项目

2.3.6.4 创建进口配送中心明细保存视图

创建用于导入的已保存视图:

  • 模块名称:SYS07 位置详细信息
  • 保存的视图名称:进口配送中心详细信息
  • 过滤以仅显示配送中心

为 Default Shipping Method 行项目选择 SHOW 并保存视图。

2.3.7 活动: 创建地理层次结构列表

“我们将练习使用您刚刚创建的保存视图导入模型。

为此,您需要将一些新列表添加到数据中心内的试用层次结构中。”

2.3.7.1 创建G1区域列表

在 ---Try It Hierarchies--- 类别下,创建一个新列表:

  • 名单名称:G1区域
  • 分配顶级:所有区域

2.3.7.2 创建 G2 国家列表

在 ---Try It Hierarchies--- 类别下,创建一个新列表:

  • 名单名称:G2 国家
  • 分配父级:G1 区域

2.3.7.3 创建 G3 位置列表

在 ---Try It Hierarchies--- 类别下,创建一个新列表:

  • 列表名称:G3 位置
  • 分配父母:G2 国家

2.3.7.4 创建G3 地点:配送中心?列表子集

在 G3 Location 列表中,创建一个新的列表子集:

  • 列表子集名称:s G3 位置:配送中心?

2.3.8 模型到模型的导入

“以前,您使用数据文件将信息导入列表。

在此模型中,您将连接到 Anaplan 模型作为要导入列表的数据源。

模型到模型的导入允许模型构建者将数据从一个模型提取到另一个模型中。”

模型到模型导入

  • 可以从列表或保存的视图中导入
  • 数据加载影响模型性能
  • 强烈建议从保存的视图导入!

2.3.9 设置导入导出默认文件

“此 sprint 中的所有 Model Builder 用户案例都包含可以在中央位置导入和更新数据的要求,这就是我设计 Data Hub 模型的原因。

对于 Data Hub 模型,我们还希望确保导入和导出按照相同的过程完成,而不管哪个模型构建器执行任务。

确保这种一致性的一种方法是为导入和导出设置默认文件。”

默认文件是什么?

  • 设置谁可以查看和使用该文件
  • 适用于文件,而不是数据
  • 当最终用户从 UX 页面或经典仪表板运行导入时,他们必须始终上传个人副本
  • 如果发生更改,必须重新上传文件以更新数据

否(保持私有)

  • 标准制定
  • 将文件设置为私有
  • 只提供给原始导入/导出的人
  • 48 小时后消失
  • 第三方集成程序文件始终是私有的

仅限管理员

  • 提供给原始导入/导出的人
  • 可供平台上的其他工作区管理员使用
  • 最终用户将无法访问该文件

每个人

  • 可供其他工作区管理员和所有具有适当角色的最终用户使用

PrivateFile&DefaultFile

情境

  • 管理员 1 在星期一导入文件 A 并将其设置为所有人。
  • 最终用户 1 在星期二导入一个名为文件 B 的新文件并将其设置为私有
  • 如果在星期五最终用户 1 再次运行导入操作,系统将使用哪个文件:文件 A 还是文件 B?选择文件A

2.3.10 活动: 从保存的视图导入数据

“使用您在尝试层次结构中创建的列表,接下来的活动将允许您练习从数据中心模型导入数据以构建地理层次结构的步骤。

您将从层次结构的最高级别开始导入过程。

按照以下步骤将数据导入 G1 区域列表。然后,对 G2 国家列表和 G3 位置列表重复这些步骤。”

2.3.10.1 将数据导入G1区域列表

按着这些次序:

  • 打开 G1 区域列表。

  • 选择导入。

  • 在“选择源”屏幕上,单击“连接到 Anaplan 模型”。

  • 选择您的数据中心模型。

  • 选择保存的视图单选按钮。

  • 选择“SYS05 区域详细信息”。构建区域保存视图并单击“选择”。

  • 将目标列验证为适当的源数据,然后单击运行导入。

    • 请记住选择项目应仅由代码标识。

2.3.10.2 将数据导入 G2 国家列表

在 Data Hub 模型中,将源保存视图中的数据导入到目标列表中:

  • 来源:SYS06 Country Details 模块,Build Country saved view
  • 目标:G2 国家名单

注意:此列表是地理层次结构的一部分。请记住在导入数据时指定 Parent。

2.3.10.3 将数据导入 G3 位置列表

在 Data Hub 模型中,将源保存视图中的数据导入到目标列表中:

  • 来源:SYS07 Location Details 模块,Build Location saved view
  • 目标:G3 位置列表

注意:此列表是地理层次结构的一部分。请记住在导入数据时指定 Parent。

2.3.11 模型操作和流程

解决方案架构师

“当您完成导入、导出或删除模型中的数据时,将对操作进行编目。

流程是一组有组织的操作。

创建流程以确保每次执行操作时都以相同的顺序执行并使用相同的数据。

以正确的操作顺序对操作进行分组非常重要。

让我们看一下数据中心模型中的操作和流程。”

在模型设置栏上,选择操作。在 Actions 选项卡上,您将看到几个已创建的 Processes 和 Actions。

这些示例流程在数据中心模型中构建层次结构;这些用于显示通过操作和保存的视图构建层次结构的示例。

在模型中创建了两个“试用”流程(T1、T2)。

命名约定中的“T”表示这些流程与数据中心模型中的尝试层次结构列表相关。

查看这些流程以熟悉其中包含的操作。

T1 构建产品层次结构流程将用于构建产品层次结构(产品系列、产品、SKU)。

在操作列表中,T1.1 构建产品系列和 T1.2 构建产品操作包含在 T1 构建产品层次结构过程中。

注意这些动作的命名。操作名称中的 T1 将其指定为 T1 流程的一部分。

小数点后的数字(.1 和 .2)表示流程中执行操作的顺序。

2.3.12 创建具有多个导入的流程

为什么要使用流程?

  • 过程简化工作流程*并防止错误

    • 包括所有相关的行动
    • 确保动作以正确的顺序运行
  • 对流程的更改会自动流过而无需重新发布

  • 流程中包含的操作不会被意外删除

    *此处泛指workflow,并非指Anaplan的Workflow功能

流程中可以包含哪些操作?

流程可以包括:

  • 导入
  • 导出
  • 使用选择从列表中删除
  • 批量复制
  • 订单列表
  • 更新当前期间

涉及编号列表的操作(创建、分配、仅分配、复制分支、删除分支)不能放置在流程中

创建流程

要创建流程:

    1. 打开操作内容面板。
    1. 在“操作”选项卡上,单击“新建操作”。
    1. 从下拉列表中选择流程
    1. 命名新的Process,点击OK。
    1. 选择流程,点击编辑。
    1. 添加动作。
    1. 根据需要重新排序操作。
    1. 单击确定。

运行一个流程

要从 UX 页面运行一个流程:

    1. 添加现有流程作为 UX 页面上的操作。

    • 动作卡
    • 卡片省略号选项
    • 工作表工具栏
    1. 修改进程的显示名称(可选)。
    1. 从卡片或工作表工具栏启动流程。
    1. 选择任何需要的文件;

Workspace 管理员还可以从“操作”选项卡运行流程。

最佳实践

    1. 在流程中发布动作
    1. 将流程中的操作保持在最低限度
    1. 命名规则:

    • 为面向用户的流程使用友好的名称
    • 使用数字前缀来表示流程的顺序

Q: 工作区管理员可以从以下哪些位置运行进程? 选择所有适用的选项。点击提交检查您的答案。

  • A: UX 页面上的操作卡按钮
  • A: UX 页面上的工作表工具栏
  • A: 操作内容面板的操作选项卡

恭喜!

  • 流程包含相关的操作并以正确的顺序执行它们。
  • 注意:如果流程中的单个操作失败,则整个流程都会失败!

2.3.13 编号列表操作

Imports 和 Exports 是最常见的模型 Action,但也有一些不太常见的 Action。

为什么要使用编号列表?

  • 因为你有多个同名物品
  • 标识符超过 60 个字符
  • 允许最终用户使用经典仪表板输入或删除列表项

使用编号列表的主要原因:

    1. 列表成员具有(或将来可能具有)相同的名称。
    1. 标准列表中的列表成员名称限制为 60 个字符。
    1. 最终用户将使用经典仪表板上的操作添加或删除列表成员。

尽可能使用标准列表

  • 允许 2 个唯一标识符 - 名称和代码
  • 更多在导入过程中匹配数据的方法

最终用户的编号列表功能

仅适用于编号列表的模型操作:

  • 创造
  • 分配
  • 仅分配
  • 复制分支
  • 删除分支

展开菜单以跳至特定操作。

演示模型概述

模型用途:跟踪特殊项目创建和团队成员分配

列表:项目层次结构、角色名称、员工 模块:只需几个系统模块即可开始 经典仪表板:每个最终用户操作类型一个

操作:创建、分配、复制分支、删除分支

成绩单:

这是新项目仪表板。 它包含添加一个新项目按钮。当然,当我们第一次创建它时,仪表板看起来不像这样!我们已经为最终用户说明和两个网格添加了文本块。 顶部网格是 P2 项目#列表,作为网格视图发布到仪表板。在此视图中,我们可以看到 P1 组织层次结构和 P2 项目#列表中的项目汇总到每个部门。列包含每个项目的父项、代码和项目名称,这是编号列表的显示名称属性。当我们添加新项目时,我们将在此网格上输入其显示名称和代码。 请注意,显示名称在两个网格左侧的层次结构中也可见,而不是系统生成的唯一编号 ID。 lowergrid 是SYS01 Project Attributes 模块的pubblishedview。它的列显示了每个项目行项目中的一些信息。当我们添加一个新项目时,我们可以在这里输入它的开始和结束日期。

将操作发布到经典仪表板:

    1. 在“操作”窗格中选择操作。
    1. 选择视图
    1. 选择发布到仪表盘
    1. 选择经典的仪表板按住按钮。
    1. 导航到经典仪表板并将其打开。

创造

最终用户将新项目添加到编号列表 无需添加有关新列表项的任何初始详细信息

  • 名称=系统生成的号码ID
  • 已知时添加更多详细信息
  • 用于场景规划

示例:最终用户将新项目添加到 P2 Project# 列表 要设置创建操作:

  1. 选择 New Action. 从下拉列表中选择 Create。
  2. 添加文本以显示在经典仪表板按钮上。
  3. 选择您将在其中创建新项目的编号列表。
  4. 选择经典仪表板以使用操作打开。
  5. 根据需要选择提示选项。
  6. 单击确定。
  7. 将操作发布到经典仪表板

新项目仪表板(创建)

包含:

  • 添加一个新的项目操作按钮
  • 最终用户说明
  • P2 Project# 列表网格视图 - 父项、代码、显示名称
  • SYS01 项目属性模块视图 - 行项目中的项目信息

使用创建操作

将项目添加为最终用户:

  1. 单击添加新项目按钮
  2. 选择新项目的父级
  3. 在P2 Project# grid中添加display name和Code
  4. 在SYS01项目属性网格中添加行项目信息

分配

  • 最终用户将子列表成员分配给父级

  • 子级别 - 必须是编号列表,必须包含列表格式的属性

  • 父级别 - 编号列表或标准列表

    • 例子: -- 为销售代表分配区域 -- 分配人员到项目 -- 将产品分配给工厂 -- 将产品分配给客户

示例:最终用户将团队成员分配给项目中的角色

要设置分配操作:

  1. 选择新动作。
  2. 添加文本以显示在经典仪表板按钮上。
  3. 选择包含要分配的子列表成员的编号列表和属性。
  4. 使用过滤器(可选)。
  5. 单击确定。
  6. 将操作发布到经典仪表板。

将项目的角色分配给团队成员仪表板(分配)

包含:

  • 分配团队成员操作按钮
  • 最终用户说明
  • P4 团队成员# 列表网格视图 - 父母、代码、显示名称

使用分配动作

从最终用户仪表板分配团队成员:

  • 1.选择要分配的子列表成员的父级
  • 2.点击分配团队成员按钮
  • 3.从P4 team member#列表中选择child list member

使用分配操作取消分配

从最终用户仪表板取消分配团队成员:

  1. 选择要取消分配的子列表成员的父级
  2. 点击分配团队成员按钮
  3. 从对话框右侧选择子列表成员
  4. 将子列表成员移回主列表,点击确定。

仅分配

  • 最终用户将子列表成员分配给父级
  • 子级别 - 必须是编号列表,必须包含列表 - 格式化属性
  • 父级别 - 编号列表或标准列表

最终用户无法使用该操作取消分配子列表成员 例子:

  • 单向审批流程:最终用户可以分配子列表成员但不能取消分配

示例:最终用户将团队成员分配给项目中的角色

设置分配动作: 1.选择新动作。

  1. 添加文本以显示在经典仪表板按钮上。
  2. 选择包含要分配的子列表成员的编号列表和属性。
  3. 使用过滤器(可选)。 5.点击确定。 将操作发布到经典仪表板

将项目的角色分配给团队成员仪表板(仅限分配)

包含:

  • 分配团队成员(仅分配)操作按钮
  • 最终用户说明
  • P4 团队成员# 列表网格视图 - 父母、代码、显示名称

使用仅分配操作

从最终用户仪表板分配团队成员:

  1. 选择要分配的子列表成员的父级。
  2. 单击分配团队成员(仅分配)按钮
  3. 从 P4 团队成员# 列表中选择子列表成员 一旦分配了父级,就没有取消分配子级列表成员的选项

复制分支

  • 最终用户复制一个列表项及其子项或它下面层次结构的所有较低级别

  • 要复制的项目必须来自编号列表并且必须有父项

  • 较低级别的分支必须是编号列表

    示例:复制项目、其角色以及分配给这些角色的团队成员

示例:最终用户复制项目结束其角色;也可以复制团队成员的选项

要设置复制分支操作:

  1. 选择新动作,从下拉菜单中选择复制分支
  2. 添加文本以显示在经典仪表板按钮上。 3.选择要复制的编号列表
  3. 选择要复制的层次结构级别:所有级别或仅直接子级。 5.选择经典仪表盘打开动作。
  4. 选择提示和过滤器选项(可选) 7.点击确定
  5. 将操作发布到经典仪表板

复制以前的项目仪表板(复制分支)

包含:

  • 两个具有不同选项的“复制以前的项目”操作按钮
  • 最终用户说明
  • P4 团队成员# 列表网格视图 - 现有项目层次结构的所有级别
  • P2 项目# 列表网格视图 - 父项、代码、显示名称

使用复制分支操作

以最终用户身份复制以前的项目:

  • 1.在P4 team member#格子上选择要复制的项目
  • 2.单击复制上一个项目...按钮
  • 3.为复制的项目选择父级
  • 4.在P2 project#grid中编辑显示名称和添加代码

删除分支

  • 最终用户删除一个列表项及其子项或它下面层次结构的所有较低级别。
  • 注意!删除分支操作删除与已删除列表项关联的模型数据
  • 最佳实践:将此操作的访问权限限制为具有列表维护责任的管理员

示例:删除一个项目、它的角色和分配给这些角色的团队成员,以及相关数据

示例:管理员删除项目及其角色

设置删除分支操作:

  • 1.select new action.choose 从下拉列表中删除分支
  • 2.添加文本以显示在经典仪表板按钮上
  • 3.选择要删除的编号列表
  • 4.选择要删除的层次结构级别:所有级别或仅直接子级
  • 5.点击确定。
  • 6.将操作发布到经典仪表板

删除项目仪表板(删除分支)

包含:

  • 删除项目操作按钮
  • 最终用户说明
  • SYS01 项目属性模块视图 - 行项目中的项目信息

使用删除分支操作

删除现有项目:

  1. 在 SYS01 Project Attributes 网格中选择要删除的项目
  2. 单击删除项目按钮
  3. 点击确定确认

恭喜!

只能与编号列表一起使用的模型操作:

  • 创造 -分配
  • 仅分配 -复制分支 -删除分支

2.3.14 活动:重命名动作和创建流程

*“您已完成使用数据中心模型作为数据源构建地理层次结构列表的步骤。 *

接下来,您将在构建流程之前重命名操作。”

我们先回顾一下:

操作是在模型中执行的编目导入、导出或删除功能。在本例中,您刚刚完成了对 G1、G2 和 G3 列表的三个导入。

流程是一组有组织的操作。创建流程以便每次都以相同的方式执行操作,并且以正确的操作顺序对操作进行分组非常重要。

创建将用于构建分层列表集的流程时,操作的顺序也必须从层次结构的最高级别开始并按降序工作。对于地理层次结构,您首先导入了 G1 列表,然后是 G2,最后是 G3 列表。

在数据中心模型中,查看操作。请记住,该模型已经有进程 T1 和 T2。您将创建下一个顺序流程 T3。

不过,在构建流程之前,您需要重命名操作。

2.3.14.1 数据中心模型中的重命名操作

Current Action NameUpdated Action Name
G1 Region from Level 2 Data Hub Your Name/'SYS05 Regio...T3.1 Build Region
G2 Country from Level 2 Data Hub Your Name/'SYS06 Coun...T3.2 Build Country
G3 Location from Level 2 Data Hub Your Name/'SYS07 Loc...T3.3 Build Location

**请注意,当前的操作名称将反映您为数据中心副本提供的名称。

新的操作名称指定流程 (T3) 和流程中的操作顺序 (.1-.3)。

2.3.14.2 创建 T3 构建地理层次结构过程

创建一个新进程:

进程名称:T3 构建地理层次结构 添加操作:T3.1、T3.2 和 T3.3

2.3.15 创建加载地理过程

解决方案架构师

“现在,使用将数据文件导入到平面列表中生成的操作,再创建一个流程。”

2.3.15.1 重命名操作

重命名用于将数据加载到地理平面列表和详细信息系统模块中的操作。

这些操作将成为名为“5 Load Geographies”的过程的一部分,因此请使用操作的最佳实践命名约定相应地重命名它们。

请记住按照流程中应完成的顺序对操作进行编号。

2.3.15.2 创建进程

创建一个新进程:

  • 进程名称:5 加载地理位置
  • 添加用于将数据加载到地理平面列表和详细信息系统模块中的操作。

2.3.15.3 检查你的工作

在您创建 5 Load Geographies Process 之后,Actions 应该包括并按此示例排序:

过程:5 个加载地理位置

动作:

  • 5.1 负载区域平坦
  • 5.2 加载国家单位
  • 5.3 负载定位平面
  • 5.4 加载国家详细信息
  • 5.5 加载位置详细信息

请注意,所有列表在导入系统模块之前都已加载。

2.3.16 过程总结

“在数据中心模型中创建的 T1-T3 流程将用于构建分层列表并将数据加载到需要数据的其他模型中,例如您将在 Sprint 2 中构建的供应链模型。

Anaplan 是一个拉取数据平台,这意味着数据从源流向目标。当供应链模型被添加到工作区时,它将成为目标,它将从数据中心模型中提取数据作为信息源。”

2.4 SPRINT 1- 模型构建器: 用户故事2

2.4.1 回顾模型构建者:用户故事2

“Sprint 1 的第二个用户故事与第一个非常相似,只是层次结构不同。您将按照相同的顺序完成模型构建活动。

产品层次结构包括产品系列、产品和 SKU 级别。

查看已创建的数据中心模型操作和 1 Load Products 和 T1 Build Product Hierarchies 流程。”

作为模型构建者,我需要一个中央位置,我可以在其中更新和加载 Unicorn Candy Company 产品和产品系列详细数据。

我需要这个,因为它很耗时,如果我必须在多个位置进行更新,则错误或遗漏的风险更高。

当我可以更新列表项并看到此更改显示在所有相关模型中时,我就知道这是成功的。

查看现有数据中心模型

让我们回顾一下数据中心模型中已经存在的内容。

打开数据中心模型的操作。您应该看到已经为产品层次结构和详细信息创建的两个流程:

流程:1 加载产品

行动描述
1.1 装载尺寸扁平加载尺寸平面列表
1.2 加载产品系列平面加载的产品系列平面列表
1.3 装载产品平面加载产品平面列表
1.4 加载产品详情将产品详细信息加载到系统模块中

流程:T1 构建产品层次结构

行动描述
T1.1 构建产品系列构建 P1 产品系列列表
T1.2 构建产品构建P2产品列表

2.4.2 活动: 将数据导入平面列表

  • “完成后续活动,为第二个用户故事构建产品层次结构和详细信息。*

这些步骤类似于您为 Sprint 1 用户故事 1 完成的步骤。请随时查看这些活动的微型课程或说明。”

2.4.2.1 导入SKU平表数据

  • 下载数据文件:SKUs.csv
  • 将数据文件导入 Data Hub 模型中的 SKU Flat 列表。
  • 请记住,这是一个平面列表。仅包括项目名称和代码。不应分配父母。

2.4.3 活动:创建系统模块

2.4.3.1 创建SYS12 SKU明细模块

在 Data Hub 模型中,创建一个新模块:

  • 模块名称:SYS12 SKU 详情
  • 尺寸:SKU 平面清单
  • 功能领域:层次结构
  • 类别:系统模块
行项目格式目的
代码文本每个产品 SKU 的唯一标识符
产品清单:产品 扁平化确定每个产品 SKU 的父产品
配送中心清单:位置单位确定持有产品 SKU 库存的配送中心

2.4.3.2 导入数据&添加公式

2.4.4 活动:为导入创建保存的视图

2.4.4.1 创建构建 SKU 保存视图

创建用于导入的已保存视图:

  • 模块:SYS12 SKU 详情
  • 保存的视图名称:构建 SKU
  • 包括:代码和产品

确保为代码和产品行项目选择显示并保存视图。

此保存的视图将用于在产品层次结构中构建 P3 SKU 列表。

2.4.4.2 检查你的工作

创建构建 SKU 保存视图后,输出应如下例所示:

2.4.4.3 创建导入SKU详情保存视图

创建用于导入的已保存视图:

  • 模块:SYS12 SKU 详情
  • 保存的视图名称:导入 SKU 详细信息
  • 包括:编码和配送中心

确保为 Code 和 Distribution Center 行项目选择 SHOW 并保存视图。

此保存的视图将用于将配送中心导入其他模型。

2.4.4.4 检查你的工作

创建导入 SKU 详细信息保存视图后,输出应如下例所示:

2.4.5 活动:从保存的视图导入数据

2.4.5.1 P3 SKU 列表

在 Data Hub 模型中创建一个新列表:

  • 清单名称:P3 SKU
  • 父级:P2 产品

2.4.5.2 从保存的视图导入

从保存的视图将数据导入 P3 SKU 列表:

  • 使用 SYS12 SKU 详细信息模块中的构建 SKU 保存视图。
  • 在运行导入之前验证源到目标的映射。
  • P3 SKU列表是产品层级的成员;分配适当的父数据。

2.4.6 活动:重命名操作和更新流程

2.4.6.1 重命名操作

使用推荐的操作命名约定:

  • 重命名用于加载 P3 SKU 列表和 SYS12 SKU 详细信息系统模块的操作:

    • 以正确的顺序组织动作。
    • 这些操作将包含在流程中: 1 加载产品。
  • 重命名用于从保存的视图构建 P3 SKU 列表的操作:

    • 此操作将包含在过程中:T1 构建产品层次结构。

2.4.6.2 更新现有流程

更新了以下流程:

  • 将操作 1.5 和 1.6 添加到 1 Load Products 流程。
  • 将操作 T1.3 构建 SKU 添加到 T1 构建产品层次结构流程。

2.4.6.3 检查你的工作

更新操作和流程后,将您的工作与这些示例进行比较:

流程:1 加载产品

动作:

  • 1.1 装载尺寸扁平
  • 1.2 加载产品系列平面
  • 1.3 装载产品平面
  • 1.4 加载产品详情
  • 1.5 加载 SKU 统一
  • 1.6 加载SKU详情

流程:T1 构建产品层次结构

动作:

  • T1.1 构建产品系列
  • T1.2 构建产品
  • T1.3 构建 SKU