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

服务器_全球高考txt百度云_限量秒杀

小七 141 0

CDC应用程序用于比较不同系统中具有复杂结构或层次结构的数据源。通过这样做,可以检查源系统和目标系统之间的数据是否一致,例如,源系统中的更新是否已正确复制到目标系统。复杂数据源的示例包括具有多个项目的销售订单或分布在多个表中的主数据记录。在早期版本中,当您想比较层次结构数据(如销售订单标题和销售订单项目)时,您必须决定比较键的粒度和数量。例如,您可以只在标题级别进行比较,而忽略所有销售订单项目信息。通过使用销售订单标题编号和销售订单项目编号作为比较键,CDC将创建所有订单项目的完整摘录。一方面,这允许比较所有项目细节,但也意味着提取和比较大量数据。

使用SAP Solution Manager 7.2中的CDC,您可以使用聚合定义数据模型。它们允许聚合源数据(如表行),并且只比较计算出的聚合结果。为了继续以销售订单为例,您可以定义一个数据模型来比较一些标题信息和项目的聚合信息,例如处于特定状态的行项目计数,甚至行项目值的总和。如果源系统(或者更准确地说,使用的CDC源类型)能够为此生成SQL代码,则聚合直接发生在源数据库中,并且只需要将少量提取的记录传输到CDC,使比较运行更快。

支持以下聚合函数:

DISTINCT–返回唯一记录的值(适用于多个键列)COUNT(DISTINCT)–返回唯一记录数(仅适用于一列)COUNT(*)GROUP BY–返回记录数(在独立的结果字段中)MIN/MAX–返回列的最小值(minimum)/最大值(maximum),适用于大多数数据类型AVG/SUM–返回一列所有值的算术平均值(average)/SUM,仅适用于数字数据类型

为了减少由于聚合或由于使用DISTINCT从结果中消除重复行而导致的结果集(消除单个数据行),SQL查询需要GROUP BY子句。此子句必须包含所有非聚合列。通常,这些是比较键。对于聚合,通常使用的比较键比源表主键少,然后聚合的结果按剩余的比较键分组。因此,什么是物联网技术,不可能有额外的经典数据列或只显示字段,因为它们的内容在聚合后会有一个未定义的值。当然,数据字段或仅以聚合格式显示字段是可能的。为此,您可以在字段详细信息弹出窗口的数据模型中为字段选择聚合。

在我们的销售订单项目示例中,项目表的主键将是标题编号加上项目编号。对于头级别的聚合,我们将只使用头编号作为比较键。所有项目信息都会聚合,并按标题键分组。可能的聚合可以是项目计数、不同项目单位计数、最大项目数量、金额总和等。

如果使用返回计数的聚合,则相应的值始终是整数值,通常与原始数据类型不匹配。在数据建模过程中,只需在图形编辑器中单击鼠标右键,商城返利系统,然后选择"创建计数分组依据",为计数值添加一些伪整数字段。

让我们更仔细地看SD表VBAK(销售订单标题)和VBAP(销售订单项)的示例。实际上,这是一个系统内部比较,其中两个源都是相同的sapecc系统。但是,源1提取销售订单标题级别的总净值,与销售订单项目级别的净值之和进行比较。

在源2中,项目净值列(VBAP-NETWR)上有一个类型sum的聚合。唯一的比较键是文档编号(VBAK-VBELN)。对于同样包含联接项表VBAP的源2,通常我们需要第二个比较项编号(VBAP-POSNR)。但是,由于将所有项目聚合到文档标题级别,项目级别变得过时,因此CDC会自动在文档编号上生成一个GROUP BY子句。

从技术上讲,大数据的未来,我们将透明的VBAK-NETWR字段与聚合总和(VBAP-NETWR)GROUP BY VBELN进行比较。

查看比较结果,大数据分享,我们查看271个没有任何项目的销售文档;没有问题。

更有趣的是,有6个销售文档的标题值和项目值之和之间存在实际差异。两个不同的销售组织受到影响(IWS0和0001)。

总共比较了222698份销售文档,分发到12个销售组织,耗时25秒。不错,但我们可以进一步加快速度,因为我们知道数据库在聚合数据方面比提取数据快得多,再加上将单个文档数据传输和比较到CDC。如果只有少数销售组织受到影响,为什么不先确定受影响的销售组织,然后在文档级别对这些组织进行详细的比较呢?

我们稍微改变一下比较模型。我们甚至不使用文档编号作为比较键,而是使用公司代码。GROUP BY子句更改为VBAK-VKORG,源数据库现在在更高的级别上聚合。

对于源2,我们仍然需要文档编号,但只是为了标题和项目之间的连接条件,其中VBAP汇总项目值并将其聚合到标题的销售组织。