BWDelta(增量)更新方法.沧海重庆

我们都知道,对于BW来说,很多ECC的标准数据源自带了增量更新功能,每天各种凭证产生的增量数据会自动堆积到增量队列里,然后BW端做一个增量信息包按天把这些增量抽取到数据仓库里,非常轻松自然,对于客户和顾问,都是透明的自动的容易实施的,这也是上过ECC的企业数据仓库采用SAPBW的一个优势所在。

总结一下,在不同的数据源下,对增量的支持是这样的:

解释一下这个图,CUBE里的数据是不能覆盖的,所以,如果要每天抽取部分数据的话,必须要把上次相同抽取条件(比如:今年)的数(请求)给删掉,这个我们可以在处理链里设置:删除信息块中的重叠请求:

一般来说,数据源都是先把数传递到DSO再到CUBE,每次删除重复请求感觉上也不是很安全,所以上述方法使用的不多。

先到DSO再到CUBE,每一次用程序抽取最近N个月数据的这种假增量方法看似比较完美,其实背后隐藏了一个极大的问题,即用户在源系统物理删除的那部分记录如何在BW也每天自动删除掉。原系统物理删除掉的记录,BW在抽取过程中是无法自动识别的,在DSO的更改日志里当然也体现不出来,CUBE端肯定也不会自动删除掉,这个如何处理?放任不管是肯定不行的,在这次首钢项目的开始,项目组就提出了这个问题,要求给出合适的解决方案。

1让客户最偷懒的,解决物理删除问题的假增量方案

解决方案经过研究,可以有以下两种主要思路。第一种,由开发源系统的客户方维护人员,在视图里增加一个删除标记,每一次数据删除了,都打上这个标记,BW抽取上来后,在报表里设置条件,凡是有这个标记的数据,就不显示出来。这种方案的问题在于客户必须要修改它那边源系统的代码,很多时候,客户想偷个懒,不太愿意改,这种方案需要客户配合,也不是标准的解决方案。第二种方法,在BW这边识别,并在抽取时自动进行处理,这样客户什么也不需要做,相当舒服,但是BW这边如何能尽量方便的处理,就得综合考虑一些问题了。

问题一:BW如何找出被物理删除的记录?

SELECT*FROM/bic/az3pp_o0900INTOTABLEit_dso.

LOOPATit_dsoINTOst_dso.

READTABLESOURCE_PACKAGEINTOst_sourceWITHKEYSTAT_DATE=

st_dso-calday.

IFsy-subrc<>0.

“确认删除,此处开始处理问题二

ENDIF.

ENDLOOP.

问题二:找到被删除记录后,怎么能让DSO的更改日志知道这条记录被删除了?

我们知道,DSO的更改日志会自动把这一次的数据和上一次的数据进行比对,把差异记录在日志表里,再传递到CUBE中,因此,我们可以考虑,手工把被删除数据的关键值统一设置为0,这样,假设原来关键值是15的话,DSO会被覆盖成0,DSO的更改日志表会变成-15,再传到CUBE中就是15+(-15)=0了。这样等于针对删除记录自动产生了反冲记录,可以同时保证DSO和CUBE数据的准确性了(DSO和CUBE该记录都为0了),例程如下:

st_source-STAT_DATE=st_dso-calday.

st_source-L4_FACILITY_ID=st_dso-plant.

st_source-L4_WORKCENTER_ID=st_dso-workcenter.

st_source-EQPT_OUT=0.

st_source-EQPT_SCRAP=0.

st_source-SACRPT_HRM_INPUT=0.

st_source-SALE_OUT=0.

st_source-SALEMAT_HRM_INPU=0.

st_source-record=tmp_record.

APPENDst_sourceTOSOURCE_PACKAGE.

注意,上述例程中非关键值要设置成和原先一样,关键值都要设置成0.

完整例程如下:

DATAit_dsoTYPETABLEOF/bic/az3pp_o0900.

DATAst_dsoTYPE/bic/az3pp_o0900.

DATAst_sourceTYPE_ty_s_sc_1.

DATAtmp_recordTYPErsarecord.

READTABLESOURCE_PACKAGEINTOst_sourceINDEX1.

tmp_record=st_source-record.

CLEARst_source.

这样的方案,我们每一次都只需把数据源到DSO的转换增加一个类似的开始例程,所有物理删除的问题就可以得到统一的解决了。以后有少数字段调整,修改起来也比较方便。对源系统那端的开发人员,工作量=0,对BW顾问,工作量也很小:)

写了这么多,总结一下,用户物理删除(无删除标记的)的假增量方案,也就是如下两步而已:

1)每次抽取最近几个月的数据到标准DSO再到CUBE,

2)从数据源到DSO的转换增加一个开始例程,把每次传输源系统删除的数据找出来,以关键值为0的形式更新到后续的数据目标中。

2备注:

教材原文:

data:l_idxlikesy-tabix.data:tmp_datetyped.readtablel_t_rangewithkeyfieldname='T_DATE'.l_idx=sy-tabix.tmp_date=sy-datum-60.l_t_range-high=sy-datum.l_t_range-low=tmp_date.l_t_range-sign='I'.l_t_range-option='BT'.modifyl_t_rangeindexl_idx.p_subrc=0.

这样最近两个月的数据每天抽取,每天覆盖,再利用DSO的更改日志表,就实现了“假增量”。

如果数据源对应的不是DSO,是CUBE,那么就无法使用更改日志表,BW也给我们一种实现假增量的方式,见下图:

THE END
1.增量法的计算原理与应用(增量法是怎样计算)增量法是一种在数学和工程领域中常用的计算方法,它通过计算各个连续时间段内的变化量来求解整个过程中的总变化量。以下是增量法的详细解释。 首先,我们需要了解增量法的核心概念。增量法将整个过程划分为若干小段,每一小段的变化量称为增量。通过累加每个小段的增量,我们可以得到整个过程的总体变化量。这种方法在处理https://www.zaixianjisuan.com/jisuanzixun/zengliangfadejisuanyuanliyuyingyong.html
2.增量数据抽取mysql增量数据抽取1. 增量数据的抽取方案 1.1 基于触发器的方式 在要抽取的表上建立需要的触发器,一般要建立I(INSERT)、D(DELETE)、U(UPDATE)三种触发器;每当源表中的数据发生变化,就被相应的触发器将变化的数据写入到一个临时表中,再通过ETL工具从临时表中抽取数据写到目标表中,同时要将临时表中抽取过的数据标记或者删除。 https://blog.csdn.net/qq_21108099/article/details/129935998
3.软件项目开发中,增量开发和迭代有什么区别?当项目团队开始一项新的软件开发计划时,他们会选择一种既能满足产品规范又能满足客户要求的开发方法。增量方开发和迭代开发是大多数人的选择。 增量方法将软件开发过程分解为小的、可管理的部分,称为增量。通过逐步建立功能,最终完全完成产品。 迭代开发是团队逐步建立特性和功能,但不要等到每个特性和功能都完成https://weibo.com/ttarticle/p/show?id=2309404825566221303958
4.iphone如何设置增量下载iphone设置增量下载方法详细步骤很多小伙伴都还不知道,下面IT百科小编为大家整理了增量下载设置技巧分享,一起来看看吧! 方法/步骤分享: 1、方法一:打开苹果手机“设置”,在设置列表中,点击“蜂窝移动网络”,打开蜂窝移动数据的开关。 2、操作完第一步后打开苹果应用商店,下载你需要的软件方法。https://g.pconline.com.cn/x/1527/15270898.html
5.当小样本遇见增量学习,智能如何实现,超详细最新综述来袭!在实际应用中,Tambwekar等人针对道路物体检测提出了一个小样本批量增量方法,设计了DualFusion架构,其中包含了用于基础类别检测的Faster R-CNN、一个新类别检测网络和一个融合网络。在检测每一个新类别时,只使用10个注释实例。尽管访问基础数据集只需一次,所有新的少量样本数据必须保留,以永久访问新类别数据。 https://www.cvmart.net/community/detail/8256
6.增量管理的方法和技巧7. 灵活适应:增量管理方法注重灵活性,根据项目进展情况和需求的变化进行调整和优化。8. 自动化测试:在每个增量开发中,尽可能地采用自动化测试来提高开发效率和保证质量。9. 版本控制:采用版本控制工具来管理项目的代码和文档,确保各个增量的版本管理和回溯能力。增量管理可以帮助项目更好地管理复杂性,https://zhidao.baidu.com/question/723424011875497805.html
7.营销总监总经理,关键时刻,如何完成销售目标,做增量的10大方法关键时刻,如何完成销售目标,业绩到底如何做增量?今天我们就为你分享,如何做增量,如何提升业绩的十大做法; 龚其形原创 文章结构: 第一、如何做增量:观念上,思想上重视销售和增量第二、如何做增量?2个关键词,“抢”“干”:第三、那我们到底如何做增量了?为您分享具体可操作的10个方法;具体内容: https://maimai.cn/article/detail?fid=1768317696&efid=kEiw4snogReGmXs7Mh3IkA
8.mysql全量备份增量备份实现方法Mysql这篇文章主要介绍了mysql全量备份、增量备份实现方法,需要的朋友可以参考下 GPT4.0+Midjourney绘画+国内大模型 会员永久免费使用! 【如果你想靠AI翻身,你先需要一个靠谱的工具!】 mysql全量备份、增量备份。开启mysql的logbin日志功能。在/etc/my.cnf文件中加入以下代码: https://www.jb51.net/article/99938.htm
9.第11讲增量动力分析方法与耐震时程法.pdf第11讲 增量动力分析方法与耐震时程法.pdf 84页VIP内容提供方:ki66588 大小:3.36 MB 字数:约6.5万字 发布时间:2018-06-05发布于浙江 浏览人气:836 下载次数:仅上传者可见 收藏次数:1 需要金币:*** 金币 (10金币=人民币1元)第11讲 增量动力分析方法与耐震时程法.pdfhttps://max.book118.com/html/2018/0604/170688951.shtm
10.一分钟了解增量预算法增量预算方法,又称调整预算方法,是指以基期成本费用水平为基础,结合预算期业务量水平及有关影响成本因素的未来变动情况,通过调整有关原有费用项目而编制预算的一种方法。这是一种传统的预算方法。 预算编制方法主要包括:按照编制基础来划分,可以将预算分为零基预算和增量预算。按照预算的状态进行划分,可以将预算分为https://www.gaodun.com/shipin/zhongji/9495.html
11.CAD增量角CAD增量角设置方法技巧步骤浩辰CAD增量角专题栏目主要汇总了CAD行业相关的CAD增量角设置方法、设置技巧、设置步骤等内容,更多CAD教程和CAD行业资讯请点击访问浩辰CAD软件官网。https://www.gstarcad.com/tag/3156/
12.RDSMySQL查看增量数据的方法云数据库RDS(RDS)RDS MySQL查看增量数据的方法 更新时间:2023-12-08 11:06:21 产品详情 RDS MySQL查看增量数据可以通过SQL洞察、Binlog以及DTS订阅三种方式。 SQL洞察 SQL洞察会统计所有的DML和DDL操作的信息,这些信息是采集系统对网络上的包进行采集得到的。SQL洞察并不会解析实际的参数的值, 并且在SQL查询量较大的时候会丢失少量https://help.aliyun.com/knowledge_detail/41748.html
13.hive下mergeinto实现增量更新方法一hive下增量的两种方法下面下面列出了两种hive批量增量的方法,我们详细讲一下merge into方法。 union all方式 insertoverwritetable原表select*from增量表unionallselecta.*from原表 aleftjoin增量表 bon1=1anda.业务不会变化的字段=b.业务不会变化的字段whereb.业务不会变化的字段isnull; https://juejin.cn/post/7005501029250301988
14.讲述增量编译方法,提高Vivado编译效率Vivado? Design Suite提供两种方法可加速产品上市进程,提高工作效率。可构建 Vivado 布局布线。在任何设计阶段处理任何类型的 ECO 问题,并可加快运行时间,确保时序收敛进程。 增量编译:使用增量编译满足最后时刻 HDL 变动需求,仅针对已变动逻辑进行布局布线,从而可节省时间。 https://www.elecfans.com/d/856591.html
15.档案管理中文本数据的增量多模态聚类方法然而,当大规模档案文本数据遇到实时性的需求时,传统的多模态数据融合算法无法满足在短时间对大量数据进行处理的任务,因此实现2种增量自适应文本数据特征学习方案,并求解对应的增量优化规则,可以节约数据处理的时间成本,同时学习的增量方法在一定程度上也更加节省数据占据的存储空间。2个实际文本数据集上的实验结果表明:文http://qks.cqu.edu.cn/html/cqdxzrcn/2022/5/20220514.htm
16.增量法的称量方法增量法的称量方法 增量法的称量方法:先将容器置于天平盘上,称得重量,再将供试品加入容器中,再称量,两次重量之差,即为供试品的医学教育|网搜集整理重量。需要称一定重量的供试品,常采用增量法。https://www.med66.com/new/56a301a2010/20101026qiji13277.shtml
17.mysql统计近一个月增量mob64ca12de62a6的技术博客统计近一个月MySQL增量数据的方法 MySQL是一种流行的关系型数据库管理系统,广泛用于各种应用中。在实际应用中,我们经常需要对数据进行统计和分析。本文将介绍如何使用MySQL来统计近一个月的增量数据,并给出相应的代码示例。 1. 需求分析 在开始编写代码之前,我们首先需要明确需求。本次需求是统计近一个月的增量数据。https://blog.51cto.com/u_16213356/8769442
18.增量内部收益率法与其他投资评估方法的对比股票频道在投资决策过程中,评估项目的价值和潜在回报至关重要。增量内部收益率法(Incremental Internal Rate of Return, IIRR)是一种常用的投资评估方法。本文将对IIRR与其他投资评估方法进行对比分析,帮助投资者更好地理解各种方法的优缺点,从而做出明智的投资决策。 https://stock.hexun.com/2024-04-20/212610772.html
19.Mysql数据库增量备份的实现思路方法介绍mysql教程MySQL数据库增量备份,在这之前修改我们的数据库配置文件/etc/my.cnf开启bin-log日志功能即可。接下来是我参考了下网上的一些方法,自己写的,主要还是要能学到他的一些思路和方法。 #function:MYSQL增量备份 #version:1.0.0 #author:wangyanlin #date:2017/08/02 https://www.php.cn/mysql-tutorials-378748.html
20.预算编制的方法——增量预算法与零基预算法会计实务对于一个企业而言,做好全面预算十分关键,它不仅可以提高公司的运作效率,促进企业发展战略和经营目标的实现,还可以起到对企业实施内部控制,防范企业风险的作用。今天带大家学习一下预算编制方法中的增量预算法与零基预算法。 增量预算法与零基预算法:增量预算法和零基预算法主要用于销售费用预算和管理费用预算的编制,两https://www.chinaacc.com/kuaijishiwu/zzjn/zh20201013095203.shtml
21.UGNX阵列增量的使用方法分享UG NX中的阵列增量功能允许用户在沿着指定方向重复放置元素时,逐渐改变它们的大小、角度或位置。本文将介绍UG NX中阵列增量功能的使用方法,该功能可以帮助用户快速创建大量相似的元素。无论您是新手还是资深用户,都能从本文中学到有关阵列增量的基础知识和实用技巧。 https://www.yutu.cn/news_51916.html
22.《敏捷实践指南》不确定性->风险->较少的工作增量->迭代、增量方法 - 非常短的反馈循环 - 频繁调整过程 - 重新进行优先级排序 - 定期更新计划 - 频繁交付 斯泰西复杂性模型 需求、技术程度的不确定性 简单的->线性方法;繁杂的、复杂的->自适应方法;混乱的->冒险 https://www.jianshu.com/p/5d0c5d509103