HANA:计算视图-图形化视图-“参数“-引用表数据(性能优化)

本文介绍了如何在SAPHANA项目中利用图形化计算视图的参数功能,特别是源自表的参数,以简化ACDOCA数据筛选,提升开发效率和性能。通过实例展示了如何通过参数引用减少关联操作,优化查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前言

最近项目HANA部分的开发用的比较多,之前很少用图形化计算视图,最近研究了下,发现有些小功能对于图形化视图的性能提升,还有建模便利性都有很大帮助,今天发现了一个小功能,就是视图中的参数,不但只可以定义传统的直接输入的参数,还有几种类型

2参数的几种类型

如图,新建参数的时候,可以选择几种类型:

1.直接: 就是直接建一个参数 可以手动输入传参

2.列: 从表中的字段中引用一个列段参数

3.源自表:从一张表中引用字段的数据来作为参数(今天主要讲的就是这种)

4.静态列表:不知道干啥的,不知道咋用

5.源自存储过程:从存储过程中用字段的数据来作为参数

3.源自表参数的详细用法和使用场景

以上几种方式大家可以根据字面意思自己去试一下,我今天在项目中主要用到,第三种源自表的参数,记录一下使用场景和用法

3.1.需求

两张表,一张ACDOCA,一张时间配置表ZBWT_REPORT_DATE,需求就是限制ACDOCA中的期间,小于时间配置表中维护的期间,比如时间配置表维护一个202301,那么我ACDOCA的值就只取2023.01之前的数据。

如果用脚本视图,直接select,from两个表,各自取出期间限制字段即可,很简单的逻辑

SELECT ACDOCA*

FROM ACDOCA,ZBWT_REPORT_DATE

WHERE  ACDOCA.FISCYEARPER < ZBWT_REPORT_DATE.FISCYEARPER

3.2 原做法 

但是用图形化,把他两关联起来就麻烦了,我能想到的就是各自给一个字段常数1,然后ACDOCA左关联时间配置表,合成一个表后再限制期间,如图,可以说开发上看着就很繁琐,性能上acdoca全表需要去跟配置表做关联,性能也很差。

 3.3 优化方法:参数引用表数据

基于上面那么麻烦,我就想能不能简化点,后面乱点发现了参数的几种类型,基于参数引用表数据的方法,实现如下:

新建一个期间参数,如图引用时间配置表的期间字段,该参数即赋值为期间参数

随后直接在图形化视图中,用参数进行限制即可,创建一个过滤,如图

整体开发一步搞定

4.总结

开发简洁性:不用多讲,两者一看就知道了,后一种看起来都简洁很多 ,少了好几块

 性能:第二种直接限制ACDOCA源表时间范围,从数据量考虑,再上层如果还有逻辑处理性能也会大大提升

参考资料:介绍了性能问题

Improve SAP HANA calculation view performance via Derived from Table Input Parameter | SAP Blogs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Idan Lian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值