SAP HANA数据库学习

Systems介绍:

Catalog下面存HANA的 Schema。

Content下面建package来 放view 。

Provisioning可以建虚拟表 数据源啥的。

Security下面 是用户角色和权限。

一个calculation view里面的scenario场景下都有啥呢?

首先是semantics下面的节点,如果你选cube,第一个节点就是aggregation,如果你选了dimension,那第一个节点就是projection,如果你选的是cube with star join,那第一个节点就是Star Join。Semantics就是最终输出的结构。

在右边还能看到column,所有列,你能把列定义成属性或者数值。如果是个Star Join,那这些列底下还会有底层视图的shared columns,也就是维度。层级那一页也是从 底层维度视图或者在计算视图上定义的层级。参数变量包括用来过滤属性值的变量 和参数。

其他的Union,join ,projection,star join,aggregation,rank都很好用。

表链接语句解释:

referential Join: 要求参照完整性的时候用。

实际语义上它还是内连接,只不过预判是满足参照完整性。这个参照完整性是啥意思呢,就是我左边表里的条目,在右边必然会有一个对应的。这个参照join是简化的Inner join。我假设右边的表里会有条目和左边的表对应的。省去检查的这一步。

实际执行的时候就是这么一回事:**如果右表中的数据被获取,那我就执行Inner join。如果我不需要获取右表中的数据,那我就执行left outer join。**就看你取不取,以此来优化性能,毕竟左外比内联快多了。

啥场景用它呢?

由于他这个是默认参照完整性的,也就是说你左表的行必须在右表至少有一个对应的行。左右都使用这个参照完整性。如果没有参照完整性,那这个join出来计算的列就错了。你左边有,右边没,为了保证他这个参照完整性,他会给你在右表创建一个。但是你实际上没有这个,那数据就错了。

inner join:同时存在在两张表中。

left/right join:左边或者右边的内容全展示。不管另一边有还是没有。

数据库视图就是用的 inner join,而help view和 maintenance view用的就是outer join。

Text Join:语言相关的描述匹配。

可能有些奇怪,这个用来干什么的呢?你有一个产品表包含的是产品编号,但是没有描述。另外你有一个文本表,包含语言相关的产品文本描述。那你就可以用一个text join。来获取语言相关描述。右表必须得是文本 表。还必须确定语言列。如果文本不是语言相关你 也可用 左外连接。也就是说如果没有language这个列那你就用不了text join。

混合建模前提:

直接在BW Modeling Tools里面看到所有的Schema和package里的view。

现在我建的DSO啦,CP啦表都会被存放到HANA数据库上,Schema下面

不管是哪个,肯定是系统帮我生成的。已经在了,我只要知道它名字。

最顶层的这个CP虚拟层,提供报表和分析层的虚拟数据集市。从这个图可以看出,HANA 里面是直接视图来的。那么意思是这个view可以是SAP的源,也可以是非SAP的源。

以往在BW里面建模,那么必须得有一层info object,这是BW独有的。在BW之外,那都是字段 。这其实很费功夫。现在的话,这个中间通道在HANA这里打通了,不需要一定有info object了,可以直接字段了。

不仅省了好大功夫 ,而且这意味着不需要把数拉到BW再存一遍了。这个就很简单,你以前建了一个Calculation view和ADSO啥的,或者你建了一个CP可以用于其他CP的。那么你现在可以再建一个CP,用Union节点把你的CV和ADSO、CP都包进去。然后Data preview来看就行了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值