借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

使用 Amazon AppFlow 和 Amazon SageMaker Canvas 的无代码 ML 解决方案从 SAP ERP 中提取见解

消费品、制造和零售等行业的客户一直在寻找通过数据生成的洞察力和分析来丰富他们的运营流程的方法。 销售预测等任务直接影响原材料计划、采购、制造、分销和入库/出库物流等运营,并且可以产生从单个仓库一直到大型生产设施的多个层面的影响。

销售代表和经理使用历史销售数据对未来的销售趋势做出明智的预测。 客户使用 SAP ERP 中央组件 (ECC) 来管理货物制造、销售和分销的计划。 SAP ECC 中的销售和分销 (SD) 模块有助于管理销售订单。 SAP 系统是历史销售数据的主要来源。

销售代表和经理具有领域知识和对其销售数据的深入了解。 但是,他们缺乏数据科学和编程技能来创建可以生成销售预测的机器学习 (ML) 模型。 他们寻求直观、易于使用的工具来创建 ML 模型,而无需编写任何代码。

为了帮助组织实现业务分析师所寻求的敏捷性和有效性,我们 介绍 亚马逊 SageMaker 画布,一种无代码 ML 解决方案,可帮助您将 ML 解决方案的交付速度缩短至数小时或数天。 Canvas 使分析师能够轻松地使用数据湖、数据仓库和运营数据存储中的可用数据; 建立机器学习模型; 并使用它们以交互方式进行预测并在批量数据集上进行批量评分——所有这些都无需编写任何代码。

在这篇文章中,我们展示了如何使用使用 Canvas 构建的 ML 模型从 SAP ECC 中获取销售订单数据以生成销售预测。

解决方案概述

要使用 SAP 销售数据生成销售预测,我们需要两个角色的协作:数据工程师和业务分析师(销售代表和经理)。 数据工程师负责配置从 SAP 系统导出的数据到 亚马逊简单存储服务 (Amazon S3) 使用 亚马逊AppFlow,然后业务分析师可以按需或自动(基于计划)运行以刷新 S3 存储桶中的 SAP 数据。 然后,业务分析师负责使用 Canvas 使用导出的数据生成预测。 下图说明了此工作流程。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

对于这篇文章,我们使用 SAP NetWeaver 企业采购模型 (EPM) 用于样本数据。 EPM 通常用于 SAP 中的演示和测试目的。 它使用通用的业务流程模型并遵循业务对象 (BO) 范式来支持定义良好的业务逻辑。 我们使用 SAP 事务 SEPM_DG(数据生成器)生成了大约 80,000 个历史销售订单,并创建了一个 HANA CDS 视图来按产品 ID、销售日期和城市聚合数据,如以下代码所示:

@AbapCatalog.sqlViewName: 'ZCDS_EPM_VIEW'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sagemaker canvas sales order'
@OData.publish: true define view ZCDS_EPM as select from epm_v_sales_data as sd
inner join epm_v_bp as bp on sd.bp_id = bp.bp_id { key sd.product_id as productid, bp.city, concat( cast( Concat( Concat( Concat(substring(cast (sd.created_at as abap.char( 30 )), 1, 4), '-'), Concat(substring(cast (sd.created_at as abap.char( 30 )), 5, 2), '-') ), Substring(cast (sd.created_at as abap.char( 30 )), 7, 2) ) as char10 preserving type),' 00:00:00') as saledate, cast(sum(sd.gross_amount) as abap.dec( 15, 3 )) as totalsales }
group by sd.product_id,sd.created_at, bp.city

在下一节中,我们将使用 SAP OData 服务作为 ABAP 结构公开此视图,这使我们能够使用 Amazon AppFlow 提取数据。

下表显示了我们在本文中使用的 SAP 的代表性历史销售数据。

产品编号 发售日期 总销售额
P-4 2013-01-02 00:00:00 基多 1922.00
P-5 2013-01-02 00:00:00 圣多明各 1903.00

数据文件为日频历史数据。 它有四列(productid, saledate, citytotalsales)。 我们使用 Canvas 构建用于预测的 ML 模型 totalsales productid 在特定的城市。

这篇文章旨在展示数据工程师和业务分析师生成产品销售预测的活动和职责。

数据工程师:使用 Amazon AppFlow 从 SAP 提取、转换和加载数据集到 Amazon S3

作为数据工程师,您执行的第一项任务是对从 SAP ECC 到 S3 存储桶的历史销售数据运行提取、转换和加载 (ETL) 作业,业务分析师将其用作其预测模型的源数据集。 为此,我们使用 Amazon AppFlow,因为它提供了开箱即用的 SAP OData 连接器 对于 ETL(如下图所示),使用简单的 UI 来设置配置从 SAP ECC 到 S3 存储桶的连接所需的一切。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

先决条件

以下是将 Amazon AppFlow 与 SAP 集成的要求:

  • SAP NetWeaver Stack 7.40 SP02 或更高版本
  • 在 SAP Gateway 中启用目录服务 (OData v2.0/v2.0) 以进行服务发现
  • 支持 SAP OData 服务的客户端分页和查询选项
  • 启用 HTTPS 的 SAP 连接

认证

Amazon AppFlow 支持两种身份验证机制来连接到 SAP:

  • 基础 – 使用 SAP OData 用户名和密码进行身份验证。
  • 身份验证 2.0 – 使用 OAuth 2.0 配置和身份提供者。 必须为 OData v2.0/v2.0 服务启用 OAuth 2.0。

连系 :

Amazon AppFlow 可以使用公共 SAP OData 接口或私有连接连接到 SAP ECC。 私有连接通过私有 AWS 网络而不是公共互联网传输数据,从而提高了数据隐私和安全性。 专用连接将 VPC 终端节点服务用于在 VPC 中运行的 SAP OData 实例。 VPC 终端节点服务必须具有 Amazon AppFlow 服务委托人 appflow.amazonaws.com 作为允许的委托人,并且必须在 AWS 区域中至少 50% 以上的可用区中可用。

在 Amazon AppFlow 中设置流

我们在 Amazon AppFlow 中配置了一个新流程,以针对从 SAP 到 S3 存储桶的数据运行 ETL 作业。 此流程允许将 SAP OData 连接器配置为源、将 S3 存储桶配置为目标、OData 对象选择、数据映射、数据验证和数据过滤。

  1. 通过提供以下信息将 SAP OData 连接器配置为数据源:
    1. 应用程序主机 URL
    2. 应用服务路径(目录路径)
    3. 端口号
    4. 客户编号
    5. 登录语言
    6. 连接类型(私有链接或公共)
    7. 认证方式
    8. 配置的连接名称
      借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  2. 配置源后,为销售订单选择 OData 对象和子对象。
    通常,SAP 的销售数据会以特定频率导出,例如每月或每季度一次。 对于这篇文章,为全尺寸导出选择子对象选项。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  3. 选择 S3 存储桶作为目标。
    流将数据导出到此存储桶。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  4. 针对 数据格式偏好, 选择 CSV格式.
  5. 针对 数据传输偏好, 选择 汇总所有记录.
  6. 针对 文件名首选项, 选择 为文件名添加时间戳.
  7. 针对 文件夹结构首选项, 选择 无时间戳文件夹.
    记录聚合配置将来自 SAP 的完整销售数据合并到一个文件中。 文件名以 YYYY-MM-DDTHH:mm:ss 格式的时间戳结尾,位于 S3 存储桶内的单个文件夹(流名称)中。 Canvas 从此单个文件中导入数据以进行模型训练和预测。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  8. 配置数据映射和验证,将源数据字段映射到目标数据字段,并根据需要启用数据验证规则。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  9. 如果需要,您还可以配置数据过滤条件以过滤掉特定记录。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  10. 配置流触发器以决定流是按需手动运行还是根据计划自动运行。
    为计划配置时,频率取决于需要生成预测的频率(通常每月、每季度或每半年)。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。配置流后,业务分析师可以按需或根据计划运行它,以对从 SAP 到 S3 存储桶的销售订单数据执行 ETL 作业。
  11. 除了 Amazon AppFlow 配置,数据工程师还需要配置一个 AWS身份和访问管理 (IAM) 角色,以便它可以访问其他 AWS 服务。 有关说明,请参阅 授予您的用户执行时间序列预测的权限.

业务分析师:使用历史销售数据来训练预测模型

让我们换个角度,转向业务分析师方面。 作为业务分析师,我们正在寻找一种可视化的点击式服务,它可以轻松构建 ML 模型并生成准确的预测,而无需编写任何代码或具备 ML 专业知识。 Canvas 适合作为无代码 ML 解决方案的要求。

首先,确保您的 IAM 角色配置为 Canvas 可以访问其他 AWS 服务。 有关详细信息,请参阅 授予您的用户执行时间序列预测的权限,或者您可以向您的云工程团队寻求帮助。

当数据工程师完成基于 Amazon AppFlow 的 ETL 配置的设置后,您可以在 S3 存储桶中使用历史销售数据。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

您现在可以使用 Canvas 训练模型了! 这通常涉及四个步骤:将数据导入服务,通过选择适当的模型类型来配置模型训练,训练模型,最后使用模型生成预测。

在 Canvas 中导入数据

首先,从 亚马逊SageMaker 控制台或从您的单点登录访问。 如果您不知道如何操作,请联系您的管理员,以便他们指导您完成设置 Canvas 的过程。 确保您在与包含 SAP 历史数据集的 S3 存储桶相同的区域中访问该服务。 您应该会看到如下所示的屏幕。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

然后完成以下步骤:

  1. 在画布中,选择 数据集 在导航窗格中。
  2. 进口 开始从 S3 存储桶导入数据。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  3. 在导入屏幕上,从 S3 存储桶中选择数据文件或对象以导入训练数据。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

您可以在 Canvas 中导入多个数据集。 它还支持通过选择在数据集之间创建连接 加入数据,这在训练数据分布在多个文件中时特别有用。

配置和训练模型

导入数据后,请完成以下步骤:

  1. 型号 在导航窗格中。
  2. 新模式 开始配置以训练预测模型。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  3. 对于新模型,给它一个合适的名称,例如 product_sales_forecast_model.
  4. 选择销售数据集并选择 选择数据集.
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
    选择数据集后,您可以在 Build 选项卡上查看数据统计信息并配置模型训练。
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  5. 选择 总销售额 作为预测的目标列。
    你可以看到 时间序列预测 自动选择为模型类型。
  6. 配置.
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  7. 时间序列预测配置 部分中,选择 产品编号 项目 ID 列.
  8. 组列.
  9. 发售日期 时间戳列.
  10. 针对 一年中的,输入 120.
  11. 保存.
    这将模型配置为进行预测 totalsales 使用 120 天 saledate 基于历史数据,可查询 productidcity.
    借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。
  12. 模型训练配置完成后,选择 标准构建 开始模型训练。

预览模型 选项不适用于时间序列预测模型类型。 您可以在 分析 标签。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

模型训练可能需要 1-4 小时才能完成,具体取决于数据大小。 模型准备好后,您可以使用它来生成预测。

生成预测

模型训练完成后,显示模型在 分析 标签。 例如,在这个例子中,它显示预测准确率为 92.87%。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

预测是在 预测 标签。 您可以为所有项目或选定的单个项目生成预测。 它还显示了可以生成预测的日期范围。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

例如,选择 单项 选项。 选择 P-2 Item 基多 团队 在 2 年 2017 月 08 日 15:00:00 到 00 年 2017 月 12 日 13:00:00 的日期范围内为城市基多生成产品 P-00 的预测。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

生成的预测显示平均预测以及预测的上限和下限。 预测界限有助于为预测处理配置积极或平衡的方法。

您还可以将生成的预测下载为 CSV 文件或图像。 生成的预测 CSV 文件通常用于离线处理预测数据。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

现在为时间序列数据生成预测。 当新的数据基线可用于预测时,您可以更改 Canvas 中的数据集以使用新基线重新训练预测模型。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。

当训练数据发生变化时,您可以多次重新训练模型。

结论

在本文中,您了解了 Amazon AppFlow SAP OData 连接器如何将销售订单数据从 SAP 系统导出到 S3 存储桶中,然后了解如何使用 Canvas 构建预测模型。

您可以将 Canvas 用于任何 SAP 时间序列数据方案,例如费用或收入预测。 整个预测生成过程是配置驱动的。 销售经理和代表可以使用一组刷新的数据以快速、直接和直观的方式每月或每季度重复生成销售预测,而无需编写任何代码。 这有助于提高生产力并实现快速规划和决策。

要开始使用,请使用以下资源了解有关 Canvas 和 Amazon AppFlow 的更多信息:


作者简介

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。布拉金德拉·辛格 是 Amazon Web Services 的解决方案架构师,与企业客户合作。 他拥有强大的开发人员背景,并且热衷于数据和机器学习解决方案。

借助 Amazon AppFlow 和 Amazon SageMaker Canvas PlatoBlockchain Data Intelligence 的无代码 ML 解决方案从 SAP ERP 中提取见解。 垂直搜索。 哎。戴维德·加利特利 是 EMEA 地区的 AI/ML 专家解决方案架构师。 他常驻布鲁塞尔,与比荷卢三国的客户密切合作。 他从小就是一名开发人员,7 岁开始编写代码。他从大学开始学习 AI/ML,从那时起就爱上了它。

时间戳记:

更多来自 AWS机器学习