查看脚本:无法按一个字段分组

2020-08-14 18:37发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好。

我尝试通过脚本创建计算视图,但出现异常错误。

我定义的脚本是:

开始

var out =

选择data.ROW_ID,data.OBJECT_ID,MIN(data.REFERENCE_DATE)

从" XYZ"作为数据

GROUP BY data.OBJECT_ID;

END


但是当我尝试对其进行验证时,出现以下错误:"存储库:在存储库运行时扩展中遇到错误;模型不一致。部署计算视图:SQL:不是GROUP BY表达式:'data.ROW_ID'必须位于 按条款分组。"

问题是我有很多行具有相同的OBJECT_ID(在不同的日期),并且我想创建一个包含任何OBJECT_ID的视图,仅包含第一个日期(REFERENCE_DATE)


对我来说,这看起来不错。 有什么想法吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好。

我尝试通过脚本创建计算视图,但出现异常错误。

我定义的脚本是:

开始

var out =

选择data.ROW_ID,data.OBJECT_ID,MIN(data.REFERENCE_DATE)

从" XYZ"作为数据

GROUP BY data.OBJECT_ID;

END


但是当我尝试对其进行验证时,出现以下错误:"存储库:在存储库运行时扩展中遇到错误;模型不一致。部署计算视图:SQL:不是GROUP BY表达式:'data.ROW_ID'必须位于 按条款分组。"

问题是我有很多行具有相同的OBJECT_ID(在不同的日期),并且我想创建一个包含任何OBJECT_ID的视图,仅包含第一个日期(REFERENCE_DATE)


对我来说,这看起来不错。 有什么想法吗?

付费偷看设置
发送
2条回答
三十六小时_GS
1楼-- · 2020-08-14 18:55

消息很清楚。

当您将select子句的所有字段(除聚合字段之外)用于分组时,也需要成为group by子句的一部分。

在group by子句中, data.ROW_ID字段丢失,您会收到错误消息。

根据您的描述,每个对象id都需要最短引用日期,我想您只需要从select子句中删除data.ROW_ID字段即可。

如果 无论出于何种原因,您都需要data.ROW_ID字段,请说明所需的内容以及数据的外观(以便能够理解在group by子句中是否也有意义,或者是否可以提供

宇峰Kouji
2楼-- · 2020-08-14 19:06

好,我想我明白了,我将尝试并进行更新。

1。 我猜这个命令会严重影响性能,对吗? 而不是运行SELECT命令,而是运行JOIN命令。

2。 顺便说一句,当我尝试通过图形计算视图执行此操作时,我遇到了相同的问题(即,由于group by在两个字段上都执行,实际上整个表都返回给我,而不仅仅是最小的行) 日期)。实际上,我知道通过图形执行此操作的解决方案也是对同一张表执行联接,对吗? 我无法通过可用的选项(我使用SAP-HANA Studio)找到一种优雅的方式。


无论如何,非常感谢你。


一周热门 更多>