【发布时间】:2011-10-31 14:25:17
【问题描述】:
你们中的任何人都可以详细说明如何将用于插入和更新的 informatica 映射到源表中的目标吗?
如果您举例说明,我将不胜感激。
【问题讨论】:
你们中的任何人都可以详细说明如何将用于插入和更新的 informatica 映射到源表中的目标吗?
如果您举例说明,我将不胜感激。
【问题讨论】:
仅 TYPE2 插入(新行和更新行)
版本数据映射:
Type 2 Dimension/Version Data 映射根据用户定义的比较过滤源行,并将新的和更改的维度插入到目标中。通过对主键进行版本控制并为表中的每个维度创建版本号来跟踪目标表中的更改。在 Type 2 Dimension/Version Data 目标中,维度的当前版本具有最高的版本号和最高递增的维度主键。
如果您想在表中保留维度数据的完整历史记录,请使用类型 2 维度/版本数据映射来更新缓慢变化的维度表。版本号和版本化主键跟踪每个维度的更改顺序。
当您使用此选项时,设计器会在目标中创建两个附加字段:
PM_PRIMARYKEY。集成服务为写入目标的每一行生成一个主键。 PM_VERSION_NUMBER。集成服务为写入目标的每一行生成一个版本号。
创建类型 2 维度/有效日期范围映射
类型 2 维度/有效日期范围映射根据用户定义的比较过滤源行,并将新的和更改的维度插入到目标中。通过维护目标中每个维度的每个版本的有效日期范围来跟踪目标表中的更改。在类型 2 维度/有效日期范围目标中,维度的当前版本有一个开始日期,没有对应的结束日期。
如果您想在表中保留维度数据的完整历史记录,请使用类型 2 维度/有效日期范围映射来更新缓慢变化的维度表。有效日期范围会跟踪每个维度的按时间顺序变化的历史记录。
当您使用此选项时,Designer 会在目标中创建以下附加字段:
PM_BEGIN_DATE。对于写入目标的每个新的和更改的维度,集成服务使用系统日期来指示维度有效日期范围的开始。 PM_END_DATE。对于要更新的每个维度,集成服务使用系统日期来指示维度有效日期范围的结束。
PM_PRIMARYKEY。集成服务为写入目标的每一行生成一个主键。
Type 2 Dimension/Flag Current 映射
Type 2 Dimension/Flag Current 映射根据用户定义的比较过滤源行,并将新的和更改的维度插入到目标中。通过标记每个维度的当前版本并对主键进行版本控制,可以在目标表中跟踪更改。在 Type 2 Dimension/Flag Current 目标中,维度的当前版本具有设置为 1 的当前标志和最高递增的主键。
如果您希望在表中保留维度数据的完整历史记录并标记最新数据,请使用类型 2 维度/标记当前映射来更新缓慢变化的维度表。版本化主键跟踪每个维度的更改顺序。
当您使用此选项时,设计器会在目标中创建两个附加字段:
PM_CURRENT_FLAG。集成服务将当前行标记为“1”,将所有以前的版本标记为“0”。 PM_PRIMARYKEY。集成服务为写入目标的每一行生成一个主键。
【讨论】:
您可以从此处查看 SCD 类型 2 的定义开始。 http://en.wikipedia.org/wiki/Slowly_changing_dimension#Type_2
这种实现在数据仓库中非常普遍,以至于 Informatica 实际上为您提供了执行此操作的模板。您可以“插入”您的表名和属性。
如果你安装了informatica,可以到帮助指南中的以下位置查看详细的实现逻辑。
目录 > 设计器指南 > 使用映射向导 > 创建类型 2 维度。
【讨论】:
使用路由器为 UPDATE 和 INSERT 定义组。将每组的输出传递给更新策略,然后传递给目标。 HTH。
【讨论】: