问题标签 [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 投票
1 回答
245 浏览

google-bigquery - 在数据融合和 BigQuery 中实施 SCD2 逻辑

我正在尝试使用 Data Fusion 实现 SCD2 表加载,但似乎找不到必要的构建块来执行此操作。(这里介绍的东西)。

我可以将新记录(暂存表)与目标表连接,过滤未更改的记录,但我无法对 SCD2 类型表进行合并/更新,因为没有选项可以这样做。

是否有任何选项可以使用 Data Fusion 对 BigQuery 表进行合并/更新?

0 投票
2 回答
187 浏览

sql-server - SCD 类型 2 和标识列插入错误

我在我的数据仓库表中插入记录时遇到问题。我有一个代理键,它为每条记录创建自动递增 1。我收到错误消息:

只有在使用列列表并且 IDENTITY_INSERT 为 ON 时,才能为表“TARGET”中的标识列指定显式值

下面的代码片段:

我已经尝试列出这些字段,因为我知道问题在于尝试将记录插入到自动递增字段中。我已将其作为“使用”基表行的一部分完成,但仍然出现错误。

有人可以给我一些指示吗?

谢谢

0 投票
1 回答
956 浏览

powerbi - 如何处理 Power BI 折线图中缺少的日期?(表格 SSAS)

在 SSAS 表格模式下,我们有不同的表格,其维度变化缓慢(SCD 类型 2)。在 Power BI 中,我们现在希望显示一个对象随时间推移的价格历史记录。我想用折线图显示它。

对于示例数据,我添加了一个折线图并激活了“形状”中的“步进”属性,以清楚地了解价格变化。但不幸的是,Power BI 在 10 月 5 日(因为这是 3 日和 7 日之间的中间日期)而不是 10 月 7 日显示价格变化。我知道,我可以在数据库视图层解决它,但我不想为所有不同的表创建这么多的数据记录。

有什么方法可以防止 Power BI 可视化中的这种行为,或者我可以以某种方式计算 DAX 中缺少的日期吗?

0 投票
1 回答
336 浏览

google-cloud-data-fusion - Cloud Data Fusion Pipeline 中的 SCD 类型 2 实施

我需要在我的数据融合管道中应用 SCD2 ,我的源数据是 GCS ,目标是 BigQuery 。我已经创建了管道并且能够将数据加载到目标 BigQery 中,所以现在我想将合并和更新过程作为 SCD2 的一部分来实现。你能帮我吗,因为我是谷歌云数据融合的新手。

0 投票
0 回答
67 浏览

snowflake-schema - 如何在加载每日数据时更新历史数据的生效日期

我在更新 scd 类型 2 中产品的有效 end_date 时遇到问题,其中每日 current_flag 行具有相同的 pack_size 和 product_code。当前语句不处理它,并且由于没有匹配项而跳过该行。我的示例产品维度如下所示,例如 product_code。

产品尺寸:

产品尺寸

我尝试加载的每日数据如下所示:

要加载的每日数据

我希望看到最终结果如下所示:

预期成绩

但我得到的是:

当前结果

我的陈述如下所示:

您能否建议我如何解决此问题并获得预期的结果?

谢谢 !

0 投票
2 回答
871 浏览

azure-data-factory - 如何使用 Azure 数据工厂在雪花表中实现 scd2

我想在雪花表中实现 scd2。我的源表和目标表仅存在于雪花中。整个过程必须使用 Azure 数据工厂完成。我浏览了 azure 提供的使用数据流实现 scd2 的文档,但是当我尝试为雪花连接创建数据集时,它显示为禁用。

有什么方法或任何文档可以让我看到使用雪花表在 adf 中创建 SCD2 的步骤。

谢谢蝰蛇

0 投票
1 回答
87 浏览

sql-server - MS SQL Server:将表转换为 SCD 的最佳方法

我需要将一个简单的历史表转换为缓慢变化的维度(示例如下)。最有效的方法是什么?

输入

输出

0 投票
1 回答
890 浏览

pyspark - 使用 AWS GLue Pyspark 在 Redshift 中实施 SCD2

我需要将数据从 S3 移动到 Redshift。目前我正在使用 Glue 进行工作。当前要求:

  1. 将 redshift 表中记录的主键与传入文件进行比较,如果找到匹配项,则关闭旧记录的结束日期(将其从高日期更新为当前日期)并插入新记录。
  2. 如果未找到主键匹配,则插入新记录。实现:我使用 pyspark 在 Glue 中实现了它,步骤如下: 创建的数据框将涵盖三个场景:
  3. 如果找到匹配项,则将现有记录的结束日期更新为当前日期。
  4. 将新记录插入找到 PPK 匹配的 Redshift 表
  5. 将新记录插入未找到 PPK 匹配的 Redshift 表

最后,将所有这三个数据帧合并为一个并将其写入红移表。

使用这种方法,旧记录(具有高日期值)和新记录(使用当前日期值更新)都将出现。

有没有办法使用pyspark删除具有高日期值的旧记录?请指教。

0 投票
1 回答
324 浏览

sql-server - 识别 SSIS SQL 服务器中 SCD 类型 2 中更改的列

我正在使用 SSIS 包跟踪我的 SCD 表中的数据,如下图所示。

在此处输入图像描述

我需要添加一个新列,即“更新的列”(如上图所示),它表示在 N 和 N-1 事务之间更新了哪些列。这可以通过 Cursor 实现,但是我正在寻找以有效方式执行此操作的建议。是否可以在 SCD 或任何其他内置 SQL 服务器功能中执行?

添加脚本:

谢谢

0 投票
1 回答
489 浏览

hadoop - 蜂巢:如何在不更新的情况下处理 scd 类型 2

目前在我们的本地 Hadoop 环境中,我们正在使用具有事务属性的配置单元表。但是,随着我们迁移到 AWS,我们还没有该功能。所以想了解如何在不更新的情况下处理 SCD 类型 2。

例如。用于以下记录。

有更新

在此处输入图像描述

在启用事务属性的表中,当我获得记录的更新时,我继续更改end_dateto并使用as和ascurrent date创建新记录,如上表所示。因此更容易找到我的(其中 end_date = "12/31/9999")。effective_datecurrent dateend_date12/31/9999active record

但是,如果我不能更新过去的记录。我有两条相同的记录end_date。如下表所示。

我的问题是。 如果我可以更新end_date过去的记录,

  1. 如何获取历史停留时间?
  2. 我如何获得活动记录?

没有更新

在此处输入图像描述