问题标签 [scd2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
26 浏览

database - SCD 2 表可以有非 SCD 列吗?

假设有一个表模式,其中列中有 a、b、c、d、start_time、end_time、current_status。

我们可以将 a、b、c 作为 SCD 列,并且让 d 不成为 SCD 逻辑的一部分,这样如果 d 发生变化,它就不会创建新的 SCD 行吗?

0 投票
1 回答
58 浏览

sql-server - SQL Server:历史记录上的缓慢变化维度类型 2

我正在尝试为我的客户表中的历史记录设置类型 2 的 SCD。附件是如何在预期结果旁边设置客户表。请注意,实际上客户表有 200 万个不同的客户 ID。我尝试使用下面的查询,但 Start_Date 和 End_Date 对每一行都重复。

0 投票
0 回答
28 浏览

google-bigquery - 找出增量/CDC记录以在Bigquery中捕获Just Inserts或Updates的逻辑

我有一些原始数据位于大查询表中,这些数据是截断负载,而我在这些原始 BQ 表上运行的每日 ETL 提要是代理的每日快照,它们是下面的每日提取。

为了提供更多背景知识,我正在尝试实现一个仅插入表来实现虚拟化 SCD 类型 2 逻辑的概念。本文重点介绍直接使用增量提取实现 SCD 类型 2。

我的要求是设计一个逻辑/代码来找出这个“仅插入”每日提取,以便我可以构建该虚拟化 SCD 2 表。我正在考虑将每个每日提取放在 Big-query 表中自己的每日分区中,以便我在一个最终表中拥有所有每日更改来构建此视图。

什么是每天查找增量提取并将其保存在大查询中的插入表(可能是分区 - 见最终表)中的有效逻辑/代码/设计?

2022-03-01 每日摘录

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔什 abcde 2022-03-01 04:14:06

2022-03-01 的 Delta Extract 应该看起来像

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔什 abcde 2022-03-01 04:14:06

2022-03-02 每日摘录(12346 的新记录)

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔什 abcde 2022-03-02 04:14:06
12346 标记 福吉 2022-03-02 04:14:06

2022-03-02 上的 Delta Extract 应该看起来像(应该只捕获更改)

Agent_Key 代理名称 MD5_CD row_eff_ts
12346 标记 福吉 2022-03-02 04:14:06

2022-03-03 每日摘录(更新记录为 12345)

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔舍 诺比 2022-03-03 04:14:06
12346 标记 福吉 2022-03-02 04:14:06

2022-03-03 上的 Delta Extract 应该看起来像(应该只捕获更改)

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔舍 诺比 2022-03-03 04:14:06

我必须通过附加每天的增量提取来构建这个插入的最终表(新的+更改的记录),以便我可以构建一个视图来计算我的 row_end_eff_ts

插入的最终表格应如下所示

Agent_Key 代理名称 MD5_CD row_eff_ts
12345 乔什 abcde 2022-03-01 04:14:06
12346 标记 福吉 2022-03-02 04:14:06
12345 乔舍 诺比 2022-03-03 04:14:06