今天遇到在做HANA视图开发的时候,遇到一个事,一直以为是个BUG,可把我气坏了,具体逻辑是这样的,是勇图形化处理的,ACDOCA innerjoin 一个时间维度表,就这么简单,完全按照ACDOCA的主键去输出的视图如下:
但后来写SQL测试的时候,怪事频发,比如这样,直接SUM的时候数据完全乱掉了,而且找不到规律:
还比如这样,分组求和的结果数据也不对:
基于以上,去导出明细,发现明细数据并无问题
后来发现是Aggregation组件这里,没有设置SUM
我先开始以为这里不SUM,但是视图设置的cube类型,也不会影响结果,因为最外层Semantics是SUM的
但是改掉Aggregation为SUM类型后,问题解决
总结:Aggregation作为视图的汇总部分,我理解有点像ADSO转换时的汇总和覆盖方式,如果不设置为SUM,默认为覆盖,当分类汇总的时候,会根据主键覆盖指标值,导致数据错误,设置为SUM后,分类汇总才会正确,以后如果用到这个组件,最好把指标都设置为SUM类型