SAP Analytics Cloud 和 SAP Cloud for Customer 两款 SaaS 软件的集成

笔者最近参与了一个项目,需要将 SAP Analytics Cloud 和 SAP Cloud for Customer 进行集成。这里笔者通过本文将项目中获得的一些开发经验分享出来,希望对相关从业者有所帮助。
什么是 SAP Analytics Cloud 和 SAP Cloud for Customer?
SAP Analytics Cloud 解决方案将 SAP Business Intelligence、增强和预测分析以及规划能力,结合到一个统一的云环境中。作为 SAP Business Technology Platform(SAP 业务技术平台)的分析层,它支持企业范围内的高级业务分析功能。
SAP Cloud for Customer 解决方案通过在前台和后台解决方案之间发送和接收业务数据,并提供客户的单一视图,从而帮助企业高效地管理其日常销售(Sales)和服务(Service)交互,分为 SAP Sales Cloud 和 Service Cloud 两大模块。

项目背景在笔者之前的 InfoQ 文章 如何使用 Mashup 技术在 SAP Cloud for Customer 页面嵌入自定义 UI 已经介绍过。我们给汽车销售开发了一个微信小程序,在使用过程中会在 SAP Cloud for Customer 里生成 Lead 数据。我们希望使用 SAP Analytics Cloud 对 C4C 里这些 Leads 数据做各种分析和预测,以帮助该销售更有效地完成其销售目标。

从 SAP Analytics Cloud 官网得知,Analytics Cloud 同提供数据源的 SAP 其他产品或第三方系统建立连接,有 Live Data Connections 和 Import Data Connections 两种,二者最大区别就在于前者没有数据复制(Replication), 而后者存在类似 SAP ERP 和 SAP CRM 之间的数据复制。

两种连接类型的支持矩阵表明,SAP Cloud for Customer 只支持通过 Import Data Connections 的方式,同 SAP Analytics Cloud 集成。

因为二者都通过公有云的方式部署,因此也无需使用 SAP Cloud Connector 进行内外网穿越了。

在 SAP Analytics Cloud 里新建一个 connection:

在 Acquire Data 里选择 SAP Cloud Platform Analytics:

Data Service URL 维护如下:https://<host name>.c4c.saphybriscloud.cn/sap/byd/odata/cc_home_analytics.svc
SAP Cloud for Customer 系统的 Analytics 模型,通过上面这个 URL 暴露给 SAP Analytics Cloud 使用。

连接建立后,基于该连接开启一个新的 Model 创建任务,选择 SAP Cloud for Customer Analytics:

SAP Analytics Cloud 的 Model 是基于 Query 的,所以先创建一个 Query:

点击 Next 后,SAP Analytics Cloud 会从 SAP Cloud for Customer 读取 Query 列表信息:

稍等片刻,SAP Cloud for Customer 的 Report 模型就被读取出来,显示在 SAP Analytics Cloud 的 Query 列表里。因为 SAP Analytics Cloud 作为一个 Analytics Hub,不可能知道 Cloud for Customer 应用比如 Sales,Service,Marketing 这些领域数据的存储明细,所以通过这些充当代理角色的 C4C Report,去完成数据读取的任务。

每一个出现在上图对话框列表内的 Query 都对应着 C4C 系统 Business Analytics(工作中心)的 Design Reports(工作中心视图)里的一个 Report, 命名规范为"RP<C4C Report ID>Q000<数字>QueryResults". 其中 C4C Report ID 可以在 C4C 系统里找到。

假设 SAP C4C 发布的标准 Report 不能满足我项目的实际需求,我可以基于 Sales Lead(CODLEAHB)这个 C4C 的标准 Data Source,自己新建一个 Report.

点击 New Report:

维护 Name 为 Zjerryc4cLeadReport:

选中默认的两个 Key Figure,Counter 和 Today,因为我希望创建的这个 Report,能告诉我:到今天为止,C4C 系统里一共存在多少个 Lead,以及这些 Lead 的来源分布情况(通过 Lead 的 Source 字段区分)。

这个自定义的 C4C Report 创建完毕:

创建完毕后,对其进行简单的测试:

因为没有选择任何限制条件,所以该 Report 显示的 Counter 值为当前系统里全部的 Lead 个数:5837. 点击漏斗图标,打开 Source 字段的帮助对话框:

选择 Z01 代表的 Wechat Social Channel:

得到意料之中的结果:6.

这和 OWL 查询出的结果一致。

C4C 的 Report 创建好之后,就可以在 SAP Analytics Cloud 的 Query 列表里检索出来并选择:

在 SAP Analytics Cloud 里可以选择 C4C 自定义 Report 里所有支持的 Characteristics 作为 SAP Analytics Cloud 模型的选择条件。下图的 Incremental Load 工作原理和 SAP CRM 中间件的 Delta Download 类似,不在本文讨论范围之内。

定义好 SAP Analytics Cloud Model 的选择条件之后,数据同步工作就开始了。

待数据全部从 SAP C4C 同步到 SAP Analytics Cloud 之后,提示信息显示总共 5837 条记录导入成功:

SAP Analytics Cloud Model 基于这批导入的数据自动进行创建。

接下来,就是 SAP Analytics Cloud 的常规操作了,即基于模型创建 Story,进行各种图表的展示,具体步骤请参考 SAP Analytics Cloud 的帮助文档。
下图是 C4C 系统全部的 Lead 按照其 Source 字段进行区分而显示出的分布情况,可以看到来自 Campaign 的 Lead 最多,而通过 Wechat Social Channel 创建的 Lead 最少。

可以在 SAP Analytics Cloud 里切换不同的图表来显示这些 Lead 的来源分布情况:


总结
本文分享了笔者在实际项目中,需要将 SAP Analytics Cloud 和 SAP Cloud for Customer 这两款 SaaS 软件,通过二者开箱即用的集成模块,进行数据复制和同步的业务需求和详细的技术实现,希望对相关从业者有所帮助。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/db1bf8fa3775ef2ff18c4d5af】。文章转载请联系作者。
评论