在本文中,我们将介绍 SSIS 缓慢变化维度类型 1(称为变化属性)。
SSIS 缓慢变化维度类型 1:如果您想更新列的数据,请将其标记为变化属性。如果您的维度表成员(列)被标记为变化属性,它将用新记录替换现有记录。这种类型的更改很有用。例如,如果我们要更新输入错误的数据,请将此列标记为变化属性。在进入示例之前,让我们看看维度表中的数据。
注意:SSIS 缓慢变化维度类型 1 将用新值更新旧记录,但它不会在 SSIS 中维护历史数据。
以下屏幕截图将显示我们 [Employees] 表中的数据。您可以通过在 [AdventureWorksDW2014] 数据库的 [DimEmployee] 表中选择 TOP 10 记录来获取相同的数据。

下图显示了 [EmployeeSource] 表中的数据,我们将把这两条记录插入或更新到 [Employees] 表中。

如果仔细观察上面的图像,EmployeeId (253022876) 的部门名称与原始值不同(已从“Marketing”更改为“Sales”),并且我们有一条 EmployeeId 为 253022870 的新记录。我们的任务是插入新记录并更新第二条记录的部门名称。
SSIS 缓慢变化维度类型 1 示例
步骤 1:打开 BIDS,然后将数据流任务从工具箱拖放到控制流。接下来,将其命名为 SSIS 缓慢变化维度类型 1。

双击它将打开数据流选项卡。
步骤 2:从 SSIS 工具箱将 OLE DB 源、缓慢变化维度拖放到数据流区域。

步骤 3:双击 OLE DB 源。这里我们使用已创建的 OLE DB 连接管理器 和 EmployeSource 表作为源表。

步骤 4:单击列选项卡以验证列。在此选项卡中,我们还可以取消选中不需要的列。

要使用 OLE DB 源中的数据,请将蓝色箭头从 OLE DB 源拖到 SCD 转换。
步骤 5:双击缓慢变化维度转换以打开缓慢变化维度向导。

步骤 6:选择维度表和键:此页面配置维度表信息。
连接管理器:此选项提供与维度表的连接。这里我们使用已创建的 OLE DB 连接管理器,它连接到我们服务器中的数据库。

表或视图:用于选择要实现缓慢变化操作的数据仓库维度表或视图。这里我们选择 Employees 表。

- 输入列:来自 OLE DB 源的列。
- 维度列:Employees 维度表中可用的列。
- 键类型:要执行缓慢变化维度 1 或 SSIS SCD 1,我们需要至少一个业务键。我们知道 Employee Alternative Key 是键列。请将键类型从“非键列”更改为“业务键”。

步骤 7 – 缓慢变化维度列:这是此向导中的主要页面。
- 维度列:维度表中可用的列将在该部分中提供。选择要选择更改类型的列。这里,我们将 Birth date 和 Email Address 列选为固定属性,将 Department Name 选为变化属性。
- 更改类型:选择更改类型。这里,我们将 Birth date、Email Address 列的默认固定属性保留为更改类型,将 Department Name 设为变化属性。

步骤 8 – 固定属性和更改属性选项:此页面有两个选项,我们已在 缓慢变化维度类型 0 文章中解释了第一个选项。我们将在下一篇文章中解释第二个选项。

步骤 9 – 推断的维度成员:此选项已在缓慢变化维度推断维度文章中讨论。现在,我们取消选择此选项,然后单击“下一步”按钮。

步骤 10 – 完成缓慢变化维度向导:单击完成按钮以完成 SSIS 缓慢变化维度类型 1 的配置。

单击完成按钮后,我们的数据流会自动更改。如果您观察下面的屏幕截图,它已添加 OLE DB 目标 以将新记录插入维度表,并添加 OLE DB 命令转换 以使用新数据更新现有的旧记录。

(可选步骤):让我们双击 OLE DB 目标以检查自动创建的目标(表名、连接管理器设置和映射)。

(可选步骤):让我们双击 OLE DB 命令转换 以检查自动创建的 Update 语句。

单击确定以完成我们的 SSIS 缓慢变化维度类型 1 包设计。让我们运行该包。

从上面的屏幕截图中,您可以看到有两行来自 OLE DB 源。一行已插入,另一行已更新。
让我们打开 SQL Server Management Studio 并检查结果。如果您观察下面的记录,我们的包添加了一条 Employee Alternative key 为 253022870 的新记录。我们还更新了 Employee Alternative key 为 253022876 的部门名称。

评论已关闭。