本文档内容是基于我个人对SAC的理解产生的,阅读时间约为1小时。
本文档主要分两块内容,1,2,3部分分享创建HANA Cloud Calculation View的过程,4,5部分分享在SAC中建立HANA Cloud Live连接的操作
使用本文档的前提是拥有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账户之后会收到邮件,内包含激活账号方式及自己的全局账号链接
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
arthur.yang@sap.com
登录后就可以开始创建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部分那样将数据可视化
关于本文内容有任何问题或见解,欢迎在评论区留下你的想法,如果时间紧迫,也可以直接联系到我 arthuryang1996@foxmail.com,感谢你的时间