云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

MySQL数据库_nas云存储_高性价比

小七 141 0

在过去的几年里,我一直在讨论ABAP CDS开发的一些有趣的技术,大数据行业分析,最近我收到了一个关于关联的问题。

人们有时很难理解关联在核心数据服务中的价值,简单地说,关联定义了不同实体之间的关系,但关联也得到了改进可重用性、数据消耗和it甚至可以支持不同的开发范围(例如,在分析引擎中使用属性、文本和层次结构)。

默认情况下,关联作为左外连接工作,游戏返利,根据此约定,游戏返利平台,我们知道我们的数据组不会直接受到选择中包含的其他表或视图的结果的影响。

根据下图,如果我们从视图A中选择数据,并使用与视图B关联的字段,系统将带来组A中的所有数据+组A和组B之间的数据交集。

问题是,有时您可能需要更改此行为,仅从两个组之间的交集收集数据,从技术上讲,您需要强制内部连接。在这种情况下,如果只有关联可用于使用数据,该怎么办?

在本文中,我将演示如何在使用关联数据时更改ABAP CDS视图的行为并强制内部连接。

请注意,此技术适用于完全依赖关联来使用数据的场景。我将用一组简单的自定义表和视图来举例说明这项技术,但重要的是要了解如何影响标准行为并使输出适应您的需要。

让我们从创建两个自定义表开始,并在它们上填充一些随机数据。

表:标题

表:项

注意:我们需要创建包含多个项的文档和表中没有任何项的文档。数据集的相关性将从左外联接变为内联接,这样您就能够理解本文演示的技术。

准备好表和数据后,让我们创建两个新的ABAP CD视图,并通过关联将它们连接起来。

ABAP CD视图:ZCDS\ U HEADER

从表ZHEADER读取数据,然后它通过关联与CDS视图ZCDS\U项连接。

ABAP CDS视图:ZCDS\U项

从表ZITEM读取数据。

通过创建CDS视图并指向标题和项目表,我们可以创建一个新视图,通过与ZCDS\U项的关联来组合使用ZCDS\U标题数据和项目编号的数据集。

ABAP CDS视图:ZCDSŠDOCUMENTŠ和ŠITEMS

通过CD视图和关联从ZHEADER和ZITEM读取数据。

注意Š1:请注意显示在关联项所在行上的警告消息,IDE告知基数可能会受到影响,因为标题和项目之间的关系为0..N(您将理解我在本文中提到此注释的原因)。

当前,物联网公司,此视图的输出基于标题表中的所有条目+项目表中的所有可用条目,这是一个经典的场景左连接(或左外连接)。

运行数据预览并检查条目数。

共16行,两个表之间左联接的结果。

更新代码并强制内部联接的时间到了。返回视图ZCDS\u文档\u和\u项,并用以下代码替换项字段来更新行:

命令[INNER]调整两个组之间的关系,只提取交集中的结果。从现在起,视图只会带来包含有效项的文档。

注意#2:由于视图ZCDSŠU头中的关联[0..*]声明,有关基数的警告消息仍然存在。重要的是要明白,内部连接并不固定两个视图之间的基数,它只是调整选择返回的数据范围。

再次运行数据预览并检查条目数。

现在,共有11行,因为表ZITEM中有5个文档没有有效项,因此从结果列表中删除了它们。

通过此演示,我们结束了开发会话。

在将来,淘客家园,我计划发布其他简单的技术来帮助开发人员使用ABAP CD视图。如果您想了解更多关于ABAP CD、关联、注释以及ABAP CD在分析和SAPUI5开发中的用法,我建议您看看我以前的一些帖子:

基于ABAP CD视图创建分析模型使用ABAP CDS表函数在单个字段中串联多个记录使用Table函数和SQL窗口函数删除abapcds视图中的重复项使用ABAP CDS视图和注释的SAP Fiori对象页中的智能图表在SAP Fiori概述页面中创建包含数据点和关键性计算的KPI

一如既往,希望您喜欢其中的内容,下次再见。