将平面文件源配置为从源文件中提取数据后,下一个任务是定义获取 CurrencyKey 和 DateKey 的值所需的查找转换。 查找转换通过将指定输入列中的数据联接到引用数据集中的列来执行查找。 引用数据集可以是现有表或视图、新表或 SQL 语句的结果。 在本教程中,查找转换使用 OLE DB 连接管理器连接到包含引用数据集源的数据的数据库。
注释
还可以配置查找转换,以连接到包含引用数据集的缓存。 有关详细信息,请参阅 Lookup Transformation。
在本教程中,你将向包添加并配置以下两个查找转换组件:
一个转换过程,用于从平面文件中按匹配的 CurrencyID 列值,查找 DimCurrency 维度表的 CurrencyKey 列的值。
将执行一个转换,用于根据平面文件中 CurrencyDate 列的匹配值从 DimDate 维度表的 DateKey 列查找对应的值。
在这两种情况下,查找转换都将使用之前创建的 OLE DB 连接管理器。
添加和配置查找货币密钥转换
在 SSIS 工具箱中,展开 “通用”,然后将 “查找” 拖到 “数据流” 选项卡的设计图面上。将“查找”直接放在 “提取示例货币数据” 源下方。
单击 “提取示例货币数据” 平面文件源,并将绿色箭头拖到新添加的 查找 转换上以连接这两个组件。
在数据流设计图面上,单击查找转换中的查找,并将名称更改为“查找货币键”。
双击 Lookup CurrencyKey 转换以显示查找转换编辑器。
在“常规”页上,进行以下选择:
选择“完全缓存”。
在 “连接类型” 区域,选择 “OLE DB 连接管理器”。
在“连接”页上,进行以下选择:
在 OLE DB 连接管理器 对话框中,确保显示为 localhost.AdventureWorksDW2012。
选择 “使用 SQL 查询的结果”,然后键入或复制以下 SQL 语句:
select * from (select * from [dbo].[DimCurrency]) as refTable where [refTable].[CurrencyAlternateKey] = 'ARS' OR [refTable].[CurrencyAlternateKey] = 'AUD' OR [refTable].[CurrencyAlternateKey] = 'BRL' OR [refTable].[CurrencyAlternateKey] = 'CAD' OR [refTable].[CurrencyAlternateKey] = 'CNY' OR [refTable].[CurrencyAlternateKey] = 'DEM' OR [refTable].[CurrencyAlternateKey] = 'EUR' OR [refTable].[CurrencyAlternateKey] = 'FRF' OR [refTable].[CurrencyAlternateKey] = 'GBP' OR [refTable].[CurrencyAlternateKey] = 'JPY' OR [refTable].[CurrencyAlternateKey] = 'MXN' OR [refTable].[CurrencyAlternateKey] = 'SAR' OR [refTable].[CurrencyAlternateKey] = 'USD' OR [refTable].[CurrencyAlternateKey] = 'VEB'
在“列”页上,进行以下选择:
在“可用输入列”面板中,将“CurrencyID”拖到“可用查找列”面板的“CurrencyAlternateKey”上。
在“可用查找列”列表中,选中“CurrencyKey”左侧的复选框。
单击“ 确定 ”返回到 数据流 设计图面。
右键单击“查找货币键”转换,然后单击属性。
在“属性”窗口中,验证属性
LocaleID是否设置为 英语(美国), 并将 DefaultCodePage 属性设置为 1252。
添加并配置查找 DateKey 转换功能
在“SSIS 工具箱”中,将“查找”拖到“数据流”设计图面上。 请将查找放在查找货币键转换的正下方。
单击查找货币键转换,将绿色箭头拖到新添加的查找转换上以连接这两个组件。
在“输入输出选择”对话框中,单击“输出”列表框中的“查找匹配输出”,然后单击“确定”。
在数据流设计图面上,单击新添加的查找转换中的查找,并将名称更改为查找日期键。
双击 Lookup Date Key 转换。
在“常规”页上,选择“部分缓存”。
在“连接”页上,进行以下选择:
在 OLEDB 连接管理器 对话框中,确保显示 localhost.AdventureWorksDW2012。
在“使用表或视图”框中,键入或选择[dbo].[DimDate]。
在“列”页上,进行以下选择:
在“可用输入列”面板中,将“CurrencyDate”拖到“可用查找列”面板的“FullDateAlternateKey”上。
在“可用查找列”列表中,选中“DateKey”左侧的复选框。
在“高级”页上,查看缓存选项。
单击“ 确定 ”返回到 数据流 设计图面。
右键单击查找日期键转换,然后单击“属性”。
在“属性”窗口中,验证属性
LocaleID是否设置为 英语(美国), 并将 DefaultCodePage 属性设置为 1252。