有人可以详细说明如何从源表中映射信息以获取目标的插入和更新吗?
如果你用例子解释,我很感激。
答案 0 :(得分:2)
TYPE2仅INSERTS(新行和更新行)
版本数据映射:
Type 2 Dimension / Version Data映射根据用户定义的比较过滤源行,并将新的和已更改的维度插入到目标中。通过对主键进行版本控制并为表中的每个维创建版本号来跟踪目标表中的更改。在类型2维度/版本数据目标中,维度的当前版本具有最高版本号和维度的最高递增主键。
如果要在表格中保留维度数据的完整历史记录,请使用“类型2维度/版本数据”映射来更新缓慢变化的维度表。版本号和版本化主键跟踪每个维度的更改顺序。
使用此选项时,Designer会在目标中创建另外两个字段:
PM_PRIMARYKEY。 Integration Service为写入目标的每一行生成主键。 PM_VERSION_NUMBER。 Integration Service为写入目标的每一行生成版本号。
创建类型2维度/生效日期范围映射
“类型2维度/生效日期范围”映射根据用户定义的比较过滤源行,并将新维度和已更改维度插入目标。通过维护目标中每个维度的每个版本的生效日期范围,在目标表中跟踪更改。在类型2维度/生效日期范围目标中,维度的当前版本具有开始日期,没有相应的结束日期。
如果要在表格中保留维度数据的完整历史记录,请使用“类型2维度/生效日期范围”映射来更新缓慢变化的维度表。有效日期范围跟踪每个维度的时间变化历史记录。
使用此选项时,Designer会在目标中创建以下附加字段:
PM_BEGIN_DATE。对于写入目标的每个新的和更改的维度,Integration Service使用系统日期来指示维度的生效日期范围的开始。 PM_END_DATE。对于要更新的每个维度,Integration Service使用系统日期来指示维度的生效日期范围的结束。
PM_PRIMARYKEY。 Integration Service为写入目标的每一行生成主键。
Type 2 Dimension / Flag Current mapping
Type 2 Dimension / Flag Current映射根据用户定义的比较过滤源行,并将新的和更改的维度插入到目标中。通过标记每个维度的当前版本并对主键进行版本控制来跟踪目标表中的更改。在Type 2 Dimension / Flag Current目标中,维度的当前版本具有设置为1的当前标志和最高递增的主键。
如果要在表中保留维度数据的完整历史记录,并且标记最新数据,请使用“类型2维度/标志当前”映射来更新缓慢变化的维度表。版本化主键跟踪每个维度的更改顺序。
使用此选项时,Designer会在目标中创建另外两个字段:
PM_CURRENT_FLAG。 Integration Service标记当前行“1”和所有先前版本“0”。 PM_PRIMARYKEY。 Integration Service为写入目标的每一行生成主键。
答案 1 :(得分:1)
您可以从这里查看SCD type-2的定义开始。 http://en.wikipedia.org/wiki/Slowly_changing_dimension#Type_2
此实现在数据仓库中非常常见,Informatica实际上为您提供了模板。你可以直接插入"你的表名和属性。
如果您安装了informatica,您可以访问帮助指南中的以下位置以查看详细的实施逻辑。
内容>设计师指南>使用映射向导>创建类型2维度。
答案 2 :(得分:1)
使用路由器为UPDATE和INSERT定义组。将每个组的输出传递给更新策略,然后再定位到目标。 HTH。