使用SAC消费HANA Cloud内的数据模型练习

本文档内容是基于我个人对SAC的理解产生的,阅读时间约为1小时。

本文档主要分两块内容,1,2,3部分分享创建HANA Cloud Calculation View的过程,4,5部分分享在SAC中建立HANA Cloud连接的操作

使用本文档的前提是拥有SAC,HANA Cloud以及Business Application Studio环境

本文档包含以下部分:

1.创建HANA Cloud Model

2.为Table注入数据

3.基于HANA Cloud中的两个table创建计算视图

 4.在SAC中建立与HANA Cloud的连接

5.基于HANA Cloud数据源建立Model

 

如果您对BTP感兴趣,BTP个人精选内容目录 | SAP Blogs 可能有更多你需要的内容

 

BTP客户在获取BTP账户之后会收到邮件,内包含激活账号方式及自己的全局账号链接

1.创建HANA Cloud Models

 

要开发HANA Cloud Model,推荐使用BTP的IDE Business Application Studio, 这里为我们本次项目创建一个空间

 

 

由于本次练习涉及的高阶功能不多,所以不需要选择太多额外Feature,只需要输入Space名选择SAP HANA Native Application,就可以点击创建Dev Space

 

 

等待新的Space创建完成后点击进入,接下来为了将IDE与HANA Cloud相连,我们需要登录HC所在BTP环境的Cloud Foundry Endpoint,这里可以直接打开Terminal,输入命令来完成登录:

 

 

在terminal中输入

 

cf login -a “API Endpoint”-o “Org Name”-s “BTP内Space名” -u “登录用户名”

 

这些参数可以在BTP子账户的概况下找到

 

例如我这里输入的是

 

cf login -a https://api.cf.cn40.platform.sapcloud.cn -o poc_env -s arthur -u [email protected]

 

登录后就可以开始创建HANA Cloud项目了,首先从左上角的“File-Project from Template”来快速启动项目,点击SAP HANA Database project后就可以点击Start开始构建项目了

 

 

 

接下来一步步完善项目细节,Project Name我这里取的是HCtoSAC,module name是默认的db,SAP HANA Database Version也是默认的HANA Cloud, 一路保持默认选项直到点击Finish

 

 

除了命令行之外,我们还可以查找快捷命令来使用更多功能,点击页面上方的“View-command palette”即可唤出搜索框

 

 

这里找到Create SAP HANA Database Artifact命令点击它来唤出配置界面

 

完善配置信息后,点击Create,就会跳转到刚刚创建出来的customers.hdbtable文件内

 

 

将该文件内容修改

 

COLUMN TABLE “customers”(custid integer, custname varchar(40), custcountry varchar(3), custregion varchar(4));

 

这样就定义了一个基础Model

单击文件内容右上角的小火箭图标,即可将这个table部署进HANA Cloud

 

 

接下来重复以上操作,右键该customers.hdbtable的父文件夹src,新建一个文件,命名为sales.hdbtable

将其文件内容设置为

 

COLUMN TABLE “sales” ( sid integer, pid varchar(5), sdate date, samt integer, custid integer )

 

最后点击小火箭进行部署,这样我们就有了两个Table,customers和sales

 

2.为Table注入数据

在文件目录下方,页面左下角,打开SAP HANA Projects部分,将鼠标悬浮在项目名上,点击右侧浮现的图标,即可打开HANA Database Explorer

 

 

默认会打开本HANA Project对应的HDI Container路径(HDI指的是在部署到Runtime环境前的Design-Time环境),在下方找到table部分,点击它,就可以在左下方看到我们刚刚创建的两个空白table

 

 

右键目标table,选择Generate INSERT Statement,将数据填入SQL中,再执行SQL,即可插入一条数据,

 

对sales表也执行同样的操作,注意Date类型需要以”YYYY-MM-DD”格式填写,例如我填写的是2023-10-13

 

 

3.基于HANA Cloud中的两个table创建计算视图

回到BAS(Business Application Studio),利用“View-Command Palette-Create HANA Database artifact”来唤出创建选项,将组件类型选为Calculation View,组件名设置为customerwisesales后直接点击创建即可

 

 

创建后默认会打开该组件的文件,从左侧控件栏中添加一个Join Node到右侧空白画布上

 

点击Join Node右侧的加号,在弹出框中搜索并选中sales和customers这两个表即可,

 

 

我先前在两个table内创建的各一条数据中,CUSTID都为101,让我们以CUSTID为关联关系来Join两个table

双击画布上的Join Node在Join Definition中单击要Join的列名再按住该行并拖到另一个table中对应的列名上

 

 

点击Mapping这个tab将源表属性拖到输出列,两个源表的CUSTID选一个拖过去即可

 

 

单击画布上的Join Node按住其右上角的Connect箭头并拖拽到Aggregation节点上并松开再双击Aggregation将数据源的所有属性拖到输出列上

 

 

双击Semantic Node,将CUSTID和SID选为属性

 

最后点击该calculationView右上角的小火箭以将其部署,部署完成后,回到HANA Database Explorer内该HDI的Column View处,就可以看到刚刚部署好的计算视图了

 

4.在SAC中建立与HANA Cloud的连接

要将BTP的云服务提供给其他消费者使用,需要为该服务创建Service Instance,并为每一个外部消费者创建一个Service Key来代表该消费者,但我们在第一次创建HANA Cloud Project项目时这些都已经自动创建好了,我们只需要来到BTP中我们BAS所在的Space内(或者子账户内也可以),从左侧实例中找到自动创建的服务实例及里面的Service Key即可

 

将服务键值Service Key内的数据复制下来,之后需要用到

 

再打开SAC,进入左侧的连接内,新增连接,在弹出窗口中选择SAP HANA,

 

 

将该链接命名为HCtoSAC, 链接类型选择SAP HANA Cloud, 再用先前保存的Service Key内容填写剩余的Host, User Name, Password等

 

 

这样连接就建好了

 

5.基于HANA Cloud数据源建立Model

最后让我们利用该Live链接在SAC中创建一个Model,进入建模器选择实时数据模型

 

选择先前建立好的连接,此时SAC会自动将该链接背后可选用的数据源列出来,选中我们在HC内创建的customerwisesales 这个calculation view

 

 

最后保存,我们的模型就建立好了,之后SAC就可以基于这样的Live连接来消费HANA Cloud里的数据,进行更加用户友好的可视化展示,例如 SAC入门练习 | SAP Blogs 中第3,4,5部分那样将数据可视化

 

 

 

关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 [email protected],感谢你的时间

 

Scroll to Top