问题标签 [scd]

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 投票
1 回答
56 浏览

datastage - datastage scd 阶段正在更新旧记录,而不是插入不匹配的业务密钥

我们有 180 万条记录的昏暗构建,并且当找不到业务密钥时,scd 正在更新旧记录而不是插入记录。

需要立即帮助,因为这是一个生产问题....

我们在目标表上有标识,我们没有使用代理键进行插入,而是使用我们正在使用的更新,这造成了很多麻烦......

0 投票
1 回答
558 浏览

mysql - 如何在mysql中做scd

我想在 MySQL 中执行 SCD 过程,我有两个完全相同的表,table1 总是被截断,它只有新记录。table2 从 table1 获取记录并维护历史记录。在我的场景中,如果现有数据进入 table1,我想覆盖 table2,如果新记录进入 table1,我想作为新记录插入 table2。

这是我上面的示例表结构。如果 table 包含像 (1,a,hockey) 这样的值,那么我只想将这些数据插入 table2,然后 table1 将被截断。如果我再次将具有相同 ID 的记录插入到 table2 但标题可能会更改在这种情况下,我想覆盖 table2 中的数据,如果有任何新 ID 出现,那么它将作为新行插入到 table2 中。请解释如何做这个场景?

0 投票
1 回答
767 浏览

data-warehouse - SQL Server scd2 和 scd1 中的 DWH SCD 类型 2 实现

我们正在实施一个新的 dwh 解决方案。我有许多维度需要慢慢改变类型 2 属性。我正在考虑在我的维度中实现类型 2 和类型 1 属性的组合。对于某些维度属性,我们通过在暗表(Type2)中插入新行来跟踪历史,对于其他属性,我们将只更新现有行以进行任何更改(Type1)

问题

  • 这是一个好习惯吗?可以将 SCD 1 和 2 组合用于相同的暗淡吗?

  • 维度中 SCD 2 属性的数量是否有限制?我的维度很宽,比如 300 列,其中一位用户要求 scd 类型 2 跟踪大约 150 列。在暗淡中有这么多 scd2 属性可以吗?因此,是否会对多维数据集和仪表板等下游报告 BI 解决方案的性能产生任何影响?

  • 在 OLTP 系统中,我们维护一个“审计”表来记录任何更新。尽管这不是一种非常容易查询的格式,但我们得到了与此更改相关的大多数问题的答案。我们不需要太多关于数据变化的报告。当然,有一些重要的列,比如Status我们肯定需要 SCD2,但其余列,我不确定 DWH 中许多其他列的历史是否会增加任何价值。我的问题是当我们在 OLTP 中有这个审计表时,我如何确定 DWH 中哪些属性需要 SCD 2?

0 投票
2 回答
637 浏览

oracle - 使用合并在 Oracle 触发器中实现类型 II SCD

对于我的生活,我无法让以下查询工作......基本上它是对以下票证的修改: 在 oracle 中使用 Merge 语句触发

所需功能:将一个值输入数据库 (COL_1)。如果该列没有匹配项,则将 VALID_FROM 日期输入为 sysdate。如果匹配,则脚本应更新前一行的 VALID_UNTIL 值(直到现在它仍为空,因为它仍然有效)。

我不断收到以下错误:死锁和最大递归级别超出(50)

0 投票
1 回答
1714 浏览

sql-server - SSIS :: 如何在不使用 SCD 向导的情况下在 SSIS 中实现 SCD 类型 2。当传入数据集具有相同业务键的多条记录时

在 SSIS 中,如果传入数据集具有相同业务键的多条记录,如何在不使用 SCD 向导的情况下将其加载到具有 SCD 类型 2 的维度表中。

样本数据集

就我而言,如果我尝试使用其他 SSIS 组件(查找/条件拆分)加载维度表,所有记录都会在表中显示一个新行,因为它们都同时进入。

我将“CurrentFlag”作为当前记录的指标。

在 SSIS 中,如果我有一个传入数据集,其中包含同一业务密钥的多个记录,我如何识别这些,并根据需要设置 CurrentFlag,无论目标表中的记录是否已经具有该业务密钥?

谢谢。

0 投票
1 回答
102 浏览

powerbi - PowerBI: Find all records valid on specific date

I have a classic datawarehouse with records. Each record has a valid_from and a valid_to date.

Now I want to set a filter in PowerBI. The idea is that the user somehow sets a date and all records for which this date falls between valid_from and a valid_to should be available in PowerBI. Thus granting the user the possibility of timetravelling through the data.

This seems like a very standard task but I can't find how to do it.... Suggestions?

0 投票
2 回答
65 浏览

oracle - oracle 查询以识别某些基于条件的重叠日期期间

我在一个缓慢变化的维度表中有一个具有重叠日期的数据集。我正在尝试提出一个查询,以根据几个条件找出具有重叠日期范围的人。

例如

仅当至少一个 relationship_id 为-1时,我才想找到具有重叠日期范围的 person_ids。例如,BOB 在重叠期间既是助理又是教师。一个人有两个角色是可以的。但是,我想找出所有涉及“无”关系和其他角色的重叠日期的人。示例:史蒂夫。

你能给我一些关于如何提出查询的建议吗

0 投票
1 回答
325 浏览

business-intelligence - 我是否跟踪数据湖中数据的更改?

最近我发现了数据湖世界,我打算用 ADL 建立一个数据湖。我不确定的一件事是数据湖应该如何跟踪随时间的变化/处理来自源的不同版本。

我遇到过声称数据湖按原样提供数据的站点,其他状态是数据应该加时间戳或文件夹结构应该反映时间戳。

无论如何,任何最佳实践?

干杯!

0 投票
1 回答
145 浏览

sql-server - T-SQL 渐变维度 - 多次更新,单次操作输出?

我已经为我正在处理的仓库实施了四个 SCD,它们正在工作。希望我已经正确理解了 SCD 方法,并且假设我已经理解了,我现在有一些问题需要帮助。

问题是有些字段可以更新而无需创建新维度,因为它们与时间无关。所以在 MERGE 语句中,我想要两个语句:

我不确定如何在查询中添加第二个 WHEN MATCHED。

这是一个现在运行良好但没有做我想要的代码的示例。

最终输出应该如您所见,但首选项应该是“更新的一次性字符串”,其中 id = 1。

这可能在同一个合并语句中吗?还是在运行合并语句之前/之后需要更新?

帖子由某人编辑,但这是我最后想看到的示例:

谢谢你。

0 投票
2 回答
904 浏览

sql - Teradata 加入 SCD 类型 2

如何连接事务表和 SCD 表以根据事务日期从 SCD 获取记录。

现在我需要为每笔交易获取 pmt_meth。所以前 2 个交易的 pmt_meth 应该是“M”,最后一个交易应该是“P”

由于加入问题,这正在创建重复项(我知道),但不确定如何匹配日期,以便不会创建重复项,我将获得所需的结果

现在我需要为每笔交易获取 pmt_meth。所以前 2 个交易的 pmt_meth 应该是“M”,最后一个交易应该是“P”

预期结果是