通过 SPSS 和 InfoSphere Warehouse 在 SAP 上进行预测分析

使用最尖端的分析技术以了解有关您客户的更多信息

预测分析软件帮助您在大型数据集中发现非显而易见的、隐藏的模式。当前用于预测分析的工具,例如 SPSS(IBM® 公司产品)和 IBM InfoSphere™ Warehouse,可以在真实的分析发生之前采用适当的方式来呈现预测的数据。然而,您可能会遇到一些情况,即您需要分析的数据不是这些工具可以识别的现成格式。例如,虽然 SAP 系统跨各种行业在许多公司中广泛使用,但是这些工具不能够直接访问 SAP 系统上的数据。本文将向您展示如何在 InfoSphere Warehouse 和 SPSS PASW Modeler 内使用 IBM InfoSphere Information Server 从 SAP 系统中提取数据进行分析。

Stefanie Scherzinger, 软件工程师, IBM

Stefanie Scherzinger 的照片Stefanie Scherzinger 由于她从事的基于 XML 流处理的主内存工作而获得德国萨尔兰大学的博士学位。在 2007 年,她离开了学校并在 IBM 信息管理部门获得了软件工程师的职位。



Dr. Thomas Schwarz, MDM 高级技术顾问, EMC

Thomas Schwarz 是德国 IBM Boeblingen 实验室的 Center of Excellence for MDM 的主数据管理技术顾问。他是 IBM InfoSphere MDM Server 与应用程序系统(特别是 SAP)集成方面的专家。此外,他还擅长使用 IBM InfoSphere Information Server 实现数据迁移和整合(特别是针对 SAP 系统)。Thomas 还为客户提供有关 MDM 架构和集成问题的咨询。在此之前,Thomas 曾是 Stuttgart 大学的研究助理,从事松散耦合的数据服务中基于位置的数据的集成和联合。他于 2007 年从德国的 University of Stuttgart 获得了博士学位。



Michael J。 Wurst, Ph.D。, 高级软件工程师, IBM

作者照片:Michael WurstMichael Wurst 博士是位于德国 Boeblingen 的 IBM Research & Development Lab 的高级软件工程师。他拥有计算机科学博士学位,并负责 InfoSphere Warehouse 中的数据挖掘算法和工具。在加入 IBM 之前,Michael 曾担任 RapidMiner 数据挖掘软件的合作开发者、架构师和顾问。



2010 年 10 月 29 日

概述

预测分析软件被用在许多应用程序上以发现数据中未知的、隐藏的模式。一个来自商务智能领域的典型事例是客户细分任务。任何拥有多个客户的公司都面临获得其客户群概况的问题。随着客户数量的增加,快速执行对每一个客户的单一分析成为不可能的事情。相反,此问题可通过首先将客户分组,放入具有相互类似属性的集群中来解决。为了了解您的客户群,接下来您只需要分析几个典型的集群以代替分析每一个单一的客户。

通过最新技术水平的分析软件(如 SPSS 或 IBM InfoSphere Warehouse)可执行客户细分。上面两种工具可预测输入数据所呈现出的结构化形式,例如数据库表或逗号分隔文件。然而,数据不可能在所有的应用程序场景中都是这样一种现成的格式。这样一种应用程序场景的突出示例是 SAP 系统,其在表的内部结构中存储数据。SAP 系统被广泛地使用并包含对于许多预测分析任务来说很重要的信息。然而,包含在 SAP 表中的数据格式无法直接适用于 SPSS 和 InfoSphere Warehouse 执行的分析。

本文提供了一个说明示例,即如何将相关信息从 SAP R/3 系统提取到 DB2® 数据库,然后使用 SPSS 或 InfoSphere Warehouse 对数据库进行分析。虽然该示例使用了客户细分场景,但是您可以很容易地将很多相同的技术应用于其他任务或其他 SAP 子系统。

图 1 显示集成的总体架构。第一步是将数据从 SAP 应用程序提取到相应的 DB2 数据库。这样就产生了一系列表,它们链接成了一个星形架构。为了使数据适用于分析,您可能需要使用 SQL 语句或 InfoSphere Warehouse 的功能来进一步地转换这些数据。最后,您可以对预处理的数据应用统计算法以便发现感兴趣的模式。这种算法可以在 SPSS PASW 建模器或 InfoSphere Warehouse 内发现。在 SPSS PASW 的情况下,将数据从数据库提取到服务器以便分析。通过 InfoSphere Warehouse,您可以在数据库内直接分析数据。

图 1. 用于分析 SAP 数据的集成架构
图表显示,首先从 SAP 中提取数据,将其处理成合适的格式,然后使用 SPSS 或 InfoSphere Warehouse 对其进行分析。

软件需求

本文所描述的示例结合了以下来自 IBM 信息管理和业务分析产品组合的组件:

  • DataStage®,IBM InfoSphere Information Server 组件
  • 适用于 SAP R/3 的 IBM InfoSphere Information Server Pack
  • 适用于 Linux®、UNIX® 和 Windows® 的 IBM DB2
  • IBM InfoSphere Warehouse Enterprise Edition 或 IBM SPSS PASW Modeler

为了遵循此示例,您当然还需要访问 SAP 系统。在此示例中,SAP 系统包含有关客户业务对象的数据。然而,仅经过细微的修改,您应该能够使用相同的已描述的常规技术并将它们应用到其他 SAP 应用程序。


从 SAP 中提取数据到 DB2

概括介绍 SAP 应用程序系统

SAP 应用程序系统在各种行业中被广泛地使用。许多公司都要依靠 SAP 系统来处理它们的部分业务流程。SAP 系统可以处理存储业务数据并提供流程层以便与数据一起工作。SAP 系统被用于一些任务,如 企业资源规划、供应链管理、客户关系管理,甚至是人力资源。它们涵盖了各种业务流程,如机会到订单、订单到现金、采购到付款,等等。真实的情况是,SAP 系统拥有一个附带业务流程特定数据结构(业务对象)的通用内核并在其上处理逻辑。简而言之,虽然任何 SAP 系统的引擎是相同的,但是每一个却运行着不同的程序。

数据结构可被分为核心业务数据结构和支持配置数据结构。客户名、地址和联系信息是核心业务数据的示例,而有效的婚姻状况清单将属于支持配置数据范围。虽然婚姻状况本身就是部分核心业务数据,但是其只是作为一个短代码被存储在那里。配置数据枚举允许的值和相应的人员可读性描述。这种二元性也扩展到您可以访问数据的方式上。通过预定义的接口(如 IDoc 和 BAPI),您可以访问核心业务数据。通常情况下,您可以一步到位地访问所有属于相同业务对象的数据结构。大多数支持配置数据都不是通过预定义的接口公开的;其只能通过运行在 SAP 系统上的 ABAP 程序访问。本文向您显示如何借助适用于 SAP R/3 的 IBM InfoSphere Information Server Pack 的帮助来访问这两种数据类型。具体来说,它显示了如何使用 IDoc 提取阶段来访问核心业务数据和如何使用 ABAP 提取阶段来访问支持配置数据。

作为替代方案,您可以使用 ABAP 提取阶段来提取核心业务数据。这样做的优势是精确地将数据的提取限定在您所感兴趣的那些数据之中。另一方面,无论记录何时被更改,使用 IDoc 接口都会使您能够充分利用您可以配置的 SAP 变更指针来发送一个 IDoc。这基本上就是为您提供的内置增量处理。

示例提取了以下客户信息。存储了此信息的 SAP 上的表和文件如括号中所示:

  • 客户 id(KNA1.KUNNR)
  • 客户国籍(KNA1.LAND1)
  • 客户类型 (KNA1.KTOKD)
  • 使用的销售渠道(KNVV.VTWEG)

相应的核心业务数据被存储在 SAP R/3 上的 KNA1 和 KNVV 表中。客户类型和销售渠道字段都存储为缩写代码。为了理解那些代码的意义,您需要获得存储在 JLT_T077D 和 JLT_TVTW 表中的相应的人员可读性描述。在使用提取核心业务数据的 IDoc 机制时,表在相应的 IDoc 划分为 E2KNA1M005 和 E2KNVVM007 以后被命名。图 2 显示由此产生的运行示例的实体关系(Entity Relationship,ER)图表。

图 2. 适用于核心业务数据和支持配置数据的客户表。
ER 图表显示适用于客户细分示例的表描述和关系

使用 IDoc Extract Stage 提取核心业务数据

本部分描述了如何从 SAP 基表 KNA1 和 KNVV 中提取数据到位于 DB2 数据库中名为 EKNA1M005 和 E2KNVVM007 的关系表。在 DataStage ETL 作业内使用适用于 SAP R/3 的 IDoc Extract Pack 来完成此任务。为了方便起见,本文将适用于 SAP R/3 的 IBM InfoSphere Information Server Pack 简称为 SAP Packs,而适用于 SAP R/3 的 IDoc Exact Pack 简称为 IDoc Extract 阶段。

这些说明假设您对 DataStage 或其他 ETL 处理工具拥有基本的了解并已经完成了以下事情:

  • 已安装并配置的 DataStage 将 SAP Packs 打包。
  • 使用适用于附带 SAP Pack 的 SAP 的 DataStage Administrator 来创建到 SAP 的 DataStage Connection。
  • 执行所需的 SAP 配置以启用 IDoc Extract 阶段和 SAP 之间的联系。在 SAP Packs 的产品文档中描述了这些配置,包括对分配模式(附带 SAP 交易记录 BD64)的修改。
  • 在 SAP 的 DataStage Administrator 上建立 IDoc Listener Settings 以便 IDoc Listener 应用程序准备从 SAP 接受 IDoc 消息。

在确保上面描述的所有先决条件都满足以后,遵循以下步骤来实现数据提取:

  1. 启动 DataStage 和 Quality Stage Designer,打开一个项目并创建一个新的并行 DataStage 作业。
  2. 从 DataStage Palette 中选择一个 IDoc Extract 阶段并将其拖到画布上。
  3. 将两个 Transformer 阶段和两个 ODBC Connector 阶段拖放到画布上。为了区分 SAP 基表 KNA1 和 KNVV 的数据流,要将这些阶段重新命名为 Transformer_KNA1Transformer_KNVVODBC_Connector_KNA1ODBC_Connector_KNVV
  4. 如图 3 所示,将这些阶段与链接连接起来。使用 IDoc Extract 阶段,该想法将从 SAP 处提取数据,并将其传送给 ODBC 阶段(通过 Transformer 阶段实现直接映射)。然后,ODBC 阶段用于插入数据到 DB2 数据库中的关系表。
    图 3. 使用 IDoc Extract 阶段的 DataStage 作业
    使用 IDoc Extract 阶段的 DataStage 作业框架
  5. 双击 IDoc Extract 阶段并为其配置如下设置:
    • 在主选项卡标记的 Stage 上:
      • 在 General 选项卡上,选择正确的 DataStage Connection 到 SAP 并提供合适的 SAP Logon Details。
      • 在 IDoc Type 选项卡上,为客户数据选择合适的 IDoc 类型。对于这个事例,请选择 DEBMAS06
      • 在 Options 选项卡上,再次选择正确的 DataStage Connection 到 SAP。启动离线 IDoc 数据处理以便无需每次执行作业时都从 SAP 系统中提取 IDoc 数据。有关此机制的进一步信息,请参考 SAP Packs 文档。
      • 在 NLS Map 选项卡上,选择合适的映射。例如,如果您的 SAP 系统是 Unicode 系统,则要选择 UTF-8
    • 使用主选项卡标记的 Output 来区分 DSLink3 链接,这会导致 Transformer 阶段处理基表 KNA1 的数据,如来自 DSLink10 链接处,则会处理基表 KNVV 的数据:
      • 在 General 选项卡上,选择 IDoc 组件来提取(EKNA1M 用于处理 KNA1 数据,或者 E1KNAVVM 用于处理 KNVV 数据)。
      • 在 Columns 选项卡上,现在您可以查看此阶段将产生的输出数据的列。
    图 4 显示了在您完成此配置阶段以后 DataStage 作业看起来像什么。请注意离开了 IDoc Extract 阶段的链接现在包含一个表图标。这表明正在此链接上通过的记录结构现在是已知的。
    图 4. 配置 IDoc Extract 阶段以后的 DataStage 作业
    在配置 IDoc Extract 阶段以后,在 DSLink3 和 DSLink10 链接上出现了一些表符号
  6. 在这一步,您要配置 Transformer 阶段。

    因为您只想通过数据,所以选择包含了所有输入列的输入链接 DSLink3 并拖放其到输出链接 DSLink4 上。图 5 显示了从输入列到输出列的完整映射。虽然您的示例的链接名称有可能不同,但是其原则是相同的。在这一点上,您也可能编辑映射并应用任何关于数据所需的转换(例如,将字符串转换为大写)。

    图 5. 在表 KNA1 的 Transformer 阶段上输入列到输出列的映射
    截图显示 DSLink3 输入列到 DSLink4 输出列的映射名称

    从 SAP 表 KNVV(DSLink10 和 DSLink11)处以类似的方式配置数据处理。

    当您已经完成了两个 Transformer 阶段的配置时,离开了阶段的链接将在这两个 Transformer 阶段上出现表符号。

  7. 在这一步,您要配置 ODBC 阶段。一次只能配置一个,双击每一个阶段并修改其以下设置:
    • 在 Properties 部分,指定数据库连接信息如数据库名称、数据库用户和相关密码。在这一点上,您还可以选择测试数据库连接。
    • 在 Usage 部分,将 Write 模式设置为 Insert 并选择生成 SQL。指定相关目标表(适用于 KNA1 的 EKNA1M005 或适用于 KNVV 的 E2KNVVM007)的完全限定的表名称。为了在运行时创建表,请设置 Table 操作来拖放并重新创建表。
    • Columns 部分现在显示了目标表(适用于 KNA1 的 EKNA1M005 或适用于 KNVV 的 E2KNVVM007)的列。
  8. 保存 DataStage 作业并编译它。调查并修复编译错误。

在您已经成功地创建了作业以后,请遵循以下的步骤来执行它:

  1. 登录到 SAP Frontend 并启动发送客户数据的 SAP 交易 BD12。
  2. 为您想提取的客户数据准备 IDocs,并发送该 IDocs。
  3. 运行 DataStage 作业。随着处理数据的进行,链接转成了蓝色且您可以监控生成记录和当前数据吞吐量的数量。在作业完成时,链接转成了绿色且您可以查看如图 6 所描述的生成记录的总数。
    图 6. 在清单成功运行以后查看 DataStage 作业
    执行以后的 DataStage 作业显示生成记录的数量和每秒钟处理行的数量

使用 ABAP 提取阶段提取支持配置数据

如前所述,支持配置数据最不可能直接从外部 SAP 系统访问。这部分描述了如何使用适用于 SAP R/3 的 IBM InfoSphere Information Server Pack 的 ABAP 提取阶段以便解决此限制。在 DataStage 作业上,本阶段生成从内部 SAP 表读取数据的 ABAP 代码并发送此数据到接收 ABAP 提取阶段。

示例场景提取了 T077D 检查表的数据,即在 KNA1 表(客户主表)上保持所有 KTOKD(客户账户组)字段的有效值。T077D 表除了保持每个账户组的配置数据的关键列以外还有许多的列。现在,您的兴趣不在配置数据上,而是在该表中每一个条目的有意义的说明性文本上。您可以在相应的文本表 T077X 上发现此说明性文本。ABAP 功能模块 DDUT_TEXTTABLE_GET 告诉您每个检查表的相应文本表(在 SAP 上使用 SE37 交易代码来运行它)。因为您只对文本表中的说明性文本列感兴趣而不是配置列,所以这足以只提取文本表而不提取检查表。您应该始终在逻辑层面上记住 KNA1 表上的 KTOKD 列,它连接检查表 T077D,而不是其文本表 T077X。

按以下步骤组建 DataStage 作业:

  1. 创建一个新的并行作业。确保作业属性中的 NLS 设置被设置成 UTF-8
  2. 从 DataStage 调色板中拖出以下三个阶段到画布:
    • ABAP Extract 阶段(调色板的 Packs 部分)
    • Transformer 阶段(调色板的 Processing 部分)
    • ODBC Connector 阶段(调色板的 Database 部分)
    图 7 显示 ABAP Extract 阶段位于调色板的何处。
    图 7. DataStage 调色板显示 ABAP Extract 阶段
    ABAP Extract 阶段位于 DataStage 调色板的 Packs 部分
  3. 连接 ABAP Extract 阶段到 Transformer 阶段,再连接 Transformer 阶段到 ODBC Connector 阶段。重新命名这些阶段为 Extract_T077XTransformer_TrimStore_JLT_T077D。在这点上,您的画布看上去应该类似于图 8。
    图 8. 使用 ABAP Extract 阶段来示例 DataStage 作业
    ABAP Extract 阶段连接到 Transform 阶段,再连接到 ODBC connector 阶段
  4. 双击 ABAP Extract 阶段并按以下步骤配置它:
    1. 转到 Output 选项卡。
    2. 在 General 选项卡上,选择正确的 DataStage Connection 到 SAP。请为 IDoc Extract 作业选择一个您已经建立的 DataStage Connection。此外,请在这里输入用户名(User Name)、密码(Password)、客户号码(Client Number)和语言(Language)。对于一个初步测试来说,只需直接输入这些值就可以了。此后,您将用作业参数或参数设置来替代这些测试值。
    3. 在 Data Transfer Method 选项卡上,选择 RFC 作为 Data Transfer Method。为了使正确的值进入 Gateway Host(在简单的设置中这就是 SAP 服务器的名称)和 Gateway Service(您可以尝试 sapgw00),请询问您的 SAP 管理员。自动检查 Create RFC 目的地,并在询问您是否想自动创建名称的弹出窗口上选择 Yes。此外,如有必要请检查 Delete 现有 RFC 目的地
    4. 在 ABAP Program 选项卡上,构建一个独特的 ABAP Program ID(例如,Z_T077X_YOUR_INITIALS)。确保 Generation Method 被设置为 Build SQL 查询,并单击 Build
      • 在 Name 字段的 Find 上输入 T077X 并单击 Search
      • 选择 T077X 表并单击 > 按钮。
      • 转到 Select 选项卡,选择除 SPRAS 列以外的所有列,并单击 > 按钮。
      • 转到 Where 选项卡,输入条件 T077X.SPRAS = 'E'。此处只用英文描述。
      • 单击 OK
    5. 返回到 ABAP Program 选项卡上,单击 Generate Program 并在弹出窗口中选择 Yes 以表明您想马上上传已生成的程序。
    6. 返回到 General 选项卡并单击 Validate Stage。您应该只能看到绿灯。
  5. 在画布上,在 Transformer 阶段上单击右键并选择 Propagate Columns / 1 – DSLink3 / 1 – DSLink4。这会将所有输入链接 DSLink3 的列复制到输出链接 DSLink4 上并同时连接它们。
  6. 双击 Transformer 阶段。在输出链接 DSLink4 部分的右上侧,标记了所有的列,在这些列上单击右键并选择 Derivation Substitution。使用 Trim(Trim($1, char(0))) 替代整个表达式。这会导致 $1 被每一个列的实际列名称所替换。此表达式也会删除所有空字符和过量的空白。在本部分的右下侧,通过选择空列上的 No 可将所有输出链接的关键列都设置为非空。
  7. 双击 ODBC 阶段。输入数据源(Data Source)、用户名(Username)和密码(Password)。保留 Write Mode 作为 Insert。将 Generate SQL 设置为 Yes。可以在表名称前加上可识别的前缀(例如 JLT_T077D)作为检查表的名称。您可能也想以架构名称作为表名称的前缀,例如 PLD.JLT_T077D。将 Table Action 设置为 Replace 以便拖放表并重新创建相应的表。这是创建所有来自设计工具的表的最佳实践,如 InfoSphere Data Architect,而不是作为一个数据库阶段的副作用,在这里很方便且可满足这个小示例。
  8. 保存作业。
  9. 编译作业。
  10. 运行作业。

为了便于检查表 TVTW 产生文本表 TVTWT,请重复上面的步骤。在作业完成以后,相应的表将出现在您的 DB2 数据库中。


应用预测分析到数据

为了应用预测分析,您首先需要预处理从 SAP 应用程序中提取出来的原始数据,以便创建包含所有相关信息的单一表。通过 SPSS PASW Modeler 或 InfoSphere Warehouse,您可以分析此表。对于以上两种工具的选择主要取决于您的应用程序安装和需求。PASW Modeler 从数据库中提取数据到一个单独的服务器。InfoSphere Warehouse 在数据库中进行分析而不移动任何数据。

分析的附加预处理

如果您一直都遵循此示例,则在这里您就已经从 SAP 应用程序中提取了四个表并把他们存储进 DB2。在您可以开始实际分析以前,您需要把这四个表合并成一个单一的表。这个单一合并的表应该包含以下的列:

  • 客户 ID 列(作为主键)
  • 包含客户国籍作为字符的列
  • 包含客户类型作为字符的列
  • 对于每一个分销渠道来说,一个列表示适用于特别渠道的客户条目的数量

对于客户 ID 来说,要使用来自 E2KNA1M005 表的 ADM_DOCNUM 列。此表也包含在列 LAND1 上有关国籍的信息,您可以直接使用此信息。对于客户类型来说,在 JLT_T077D 上使用其相应的支持数据来联接来自 E2KNA1M005 表的列 KTOKD,使用 KTOKD 作为联接键。

为了获得剩余的信息,将此表与表 E2KNVVM007 联接在一起。使用 E2KNA1M005 的 ADM_DOCNUM 和 ADM_SEGNUM 列来执行此联接,且将它们与 E2KNVVM007 的 ADM_DOCNUM 和 ADM_PSGNUM 联接在一起。信息包含在 VTWEG 中,即您在 JLT_TVTW 上联接支持信息,使用 VTWEG 以获得描述性标签而不是键。最终,在分销渠道上执行逆透视。

这种转换是通过直接的 SQL 语句实现的。然而,您将可能发现其更便于使用 InfoSphere Warehouse 内置数据预处理功能。为了便于获得更多信息,请参考 InfoSphere Warehouse 文档。

图 9 显示预处理以后最终表的一部分。

图 9. 预处理以后的表示例
显示列 ADM_DOCNUM、COUNTRY、CUSTOMERTYPE、DC_FINAL_CUS...、和 DC_INTERNET

功能可被分为行为类或人口统计类。例如,分销渠道描述行为数据,而国籍则描述人口统计属性。通常情况下,您将不会使用所有客户细分的功能。最佳实践是首先要根据客户的行为来细分客户,然后再联接此信息到人口统计属性。

使用 SPSS PASW Modeler 建立预测模型

现在,您已经定义了功能并创建了最终表,唯一剩下的步骤是建立实际客户细分模型。SPSS PASW Modeler 是一个您可以用来执行此类分析的工具。在本节中的说明假设您已经安装了 SPSS PASW Modeler 13 并使用 ODBC 连接来连接其到您的数据库。

PASW Modeler 使用流的概念来定义数据流如何通过分析系统。对于客户细分示例来说,您只需要一个如图 10 所示的很简单流。

图 10. 简单的数据细分的 SPSS 流
SPSS PAWS Modler 13 的截图显示 DB 节点和 TwoStep 节点

DB 节点从数据库读取数据。TwoStep 节点从事实际的细分。遵循这些基本步骤来创建流:

  1. 从 Sources 选项卡中拖出 Database 节点到画布。
  2. 双击节点并填写数据源和表名称(在这种情况下是 SAP.CUSTOMERS 表)。
  3. 切换到 Types 选项卡并单击 Read Values。如果生成一个弹出消息,则单击 OK。读取值会指示 SPSS 快速扫描数据以分析数据类型和域。单击 OK 关闭节点。
  4. 从 Modeling 选项卡中拖出 TwoStep 节点到画布。TwoStep 是一个复杂的、自我优化的细分算法。它通常无需任何进一步的参数化或自定义。
  5. 连接节点。
  6. 双击 TwoStep 运算符,转到 Fields 选项卡,并添加所有以 DC 开始的字段。这会指定您想包括的只涉及客户行为和他们的分销渠道的字段。
  7. 单击画布上方绿色的运行按钮。这样就会建立细分模式。
  8. 在流程完成时,在 Models 部分的右上方角落里会出项一个新的图标。在图标上单击右键并选择 Browse。这会打开一个包含细分模式的新窗口。

您可以使用可视化工具用不同的方法来分析细分模式。特别是集群视图提供了有价值的见解。通过为 View 选择 Clusters 可选择集群视图。

图 11 显示了附带三个集群的集群视图示例。查看此视图,您可以确定在 cluster-3 上的客户使用了所有的分销渠道、在 cluster-2 上的客户很少或从不使用连锁商店、而在 cluster-1 上的客户不使用 Internet 渠道且很少使用任何服务。您也可以使用 SPSS 可视化工具来揭示集群更感兴趣的属性,或者您可以手动更改一些参数(例如集群的数量)而后重新运行该集群流程。更改参数能够被完成只是因为它适用于数据库节点。

图 11. 在客户细分期间发现了三个结果集群。
SPSS 集群可视化工具的集群视图显示了每一个集群的描述、大小和功能

使用 InfoSphere Warehouse 建立预测模型

您也可以使用 InfoSphere Warehouse 来建立一个相似的预测模型。InfoSphere Warehouse 并不从数据库中提取任何数据,而是使用内置功能和存储过程来进行分析。

InfoSphere Warehouse 使用流量概念,即类似于上面所描述的 SPSS PASW Modeler 流。图 12 显示了 InfoSphere Warehouse 挖掘流量的示例。它包含三个运算符。一个运算符用于来自表的数据访问、还有一个运算符用于执行细分、最后一个运算符用于可视化细分。为了创建这样一个流需要遵循以下步骤:

  1. 创建一个新的 Mining Flow。
  2. 拖一个 Table Source 运算符到画布并选择 SAP.CUSTOMERS 输入表。
  3. 拖一个 Clusterer 运算符到画布并将其输入端口与 Table Source 运算符的输出端口连接。
  4. 打开 Clusterer 的属性并转到 Model Settings。选择 3 作为集群的最大值并用 Kohonen 作为集群算法。切换到 Column properties 并设置除用 DC 启动的所有列的字段使用类型为 supplementary。这说明该算法只使用集群的 DC 列,对于其他的列来说,则只收集统计信息。
  5. 拖一个 Visualizer 运算符到画布并将其模型端口与 Clusterer 运算符的模型端口连接。挖掘流现在应该看上去与图 12 所示的相似。
    图 12. InfoSphere Warehouse 上的细分流。
    来自 Customers 表的输出流入 Cluster_02,即发送一个模型到 Visualizer_013
  6. 单击画布上方的绿色运行按钮以便开始建立细分模型。

在流程完成以后,预测模型将会自动显示。您可以在图 13 中看到部分结果。您可以用上面描述的相似方式来分析 SPSS 模型的结果。同样,您在每一个细分上都可以看到值的分布。围绕一个字段的方括号说明该字段不适用于细分。

图 13. InfoSphere Warehouse 上的细分模型
在方括号上附带字段的每个细分的描绘图不适用于细分

结束语

SAP 系统包含可以采用分析工具(如 SPSS 或 InfoSphere Warehouse)优化业务流程的有价值数据。然而,在您执行分析以前,您需要提取并预处理这些数据。本文使用了一个客户细分示例来描述如何执行涉及分析 SAP 数据的任务。您可以将这种简单和直接的方法应用到许多其他可能的应用程序上,如客户价值估计、客户流失预测以及潜在的向上和交叉销售。

参考资料

学习

获得产品和技术

  • 使用可直接从 developerWorks 下载的 IBM 产品评估试用软件构建您的下一个开发项目。
  • 现在可以免费使用 DB2。下载 DB2 Express-C,这是为社区提供的 DB2 Express Edition 的免费版本,它提供了与 DB2 Express Edition 相同的核心数据特性,为构建和部署应用程序奠定了坚实的基础。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=558713
ArticleTitle=通过 SPSS 和 InfoSphere Warehouse 在 SAP 上进行预测分析
publish-date=10292010