如何在scd2中获得无限的流量版本?

问题描述

您好,我有一个数据集,其中的数据行具有不同的版本

customer有一个customer_id和一些属性,我只想收集对“最后一个”行有重大更改的信息流

[在此处输入图片描述] [1]

> version of row    id  ref important change    unimportant change  is_important
1   1   xyz 1   2   yes
2   1   xyz 1   3   no
                    
                    
3   1   xyz 2   1   yes
4   1   xyz 1   4   yes
                    
                    
5   1   xyz 4   1   yes

因此,如果我使用常规的滞后函数(窗口函数,当然会得到 版本1 版本3 版本4 版本5 版本6

到目前为止一切顺利

但是如果我想说版本1是我的第一行 并且我想将特定时间范围内该行之后的所有行与该行进行比较,并获取与第一行不同的最新行-嗯,我该怎么做?

因此,如果我花较短的时间,我将收集行版本4,然后将其与下一行进行比较,然后将版本5视为重要更改(而不是版本6),因为重要字段上的版本6没有更改针对版本4

如果我花更长的时间,我将拥有版本1,并将所有其他版本与之进行比较,并采用与重要领域不同的最新版本,得到版本5

了解我的意思是我想拥有一个移动的窗口并比较其中的所有版本,并采用与上一个重要版本不同的版本

当然,我可以使用ETL工具或执行一些SP(存储过程),但是目标应该是使用1条sql

thx

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)