Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ArthurYang
Product and Topic Expert
Product and Topic Expert
505

本文档内容是基于我个人对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个人精选内容目录 | 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 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,感谢你的时间