Informatica 中的查找转换对于查找平面文件、关系表和视图中存在的数据非常有用。在本文中,我们将通过一个示例向您展示如何使用查找转换对 SQL Server 数据库表执行查找操作。
在开始设计映射之前,让我们先看一下我们将要执行 Informatica 查找转换操作的源表和查找表。
我们的查找表将是源数据库中的表。

我们的源表将是数据库中的以下表。

在此 Informatica 查找转换示例中,我们的任务是将源表中的国家名称与查找表进行比较,然后
- 如果匹配,我们将把它们与查找表中存在的国家代码一起加载到 [查找匹配行] 目标表中。
- 如果不匹配,我们将把它们加载到 [查找不匹配行] 目标表中。
提示:您可以通过对非匹配记录执行一些操作并使用UNION 转换将其存储在匹配表中来扩展此功能。
Informatica 查找转换示例
在开始配置 Informatica 的查找转换之前,请先连接到 Informatica 存储库服务。为了连接存储库服务,我们需要提供管理员控制台凭据,因此请提供正确的用户名和密码,然后单击“连接”按钮,如下图所示。
提示:在这里,您必须提供在安装服务器时指定的管理员用户名和密码。

步骤 1:Informatica 查找转换的源定义
成功连接后,请导航到源分析器并定义您的源。在此查找转换示例中,我们使用 SQL Server 数据库中的表作为我们的源定义。请参阅数据库源以了解创建源定义涉及的步骤。

步骤 2:创建目标定义
请导航到目标设计器并定义目标。在此 Informatica 查找转换示例中,我们使用已创建的 SQL 表([查找匹配行] 和 [查找不匹配行])作为我们的目标定义。请参阅使用源定义创建 Informatica 目标表以了解创建目标定义涉及的步骤。

步骤 3:创建 Informatica 查找转换映射
要为查找转换创建新映射,请导航到菜单栏中的“映射”菜单,然后选择“创建…”选项。这将打开如下图所示的“映射名称”窗口。
在这里,您需要为此映射(m_Lookup_Transformation)输入一个唯一的名称,然后单击“确定”按钮。
提示:请参阅映射文章以了解创建映射涉及的步骤。

接下来,将源定义从“源”文件夹拖放到映射设计器中。拖动源后,PowerCenter 设计器将自动创建一个名为源限定符的默认转换。
步骤 3(a):在 Informatica 中创建查找转换
要创建查找转换,请导航到菜单栏中的“转换”菜单,然后选择“创建…”选项。

单击“创建…”选项后,将打开如下图所示的“创建转换”窗口。请从下拉列表中选择 Informatica 查找转换,为此转换指定一个唯一的名称(LKP_Country),然后单击“创建”按钮。

单击“创建…”按钮后,将打开一个名为“选择查找表以用于查找转换”的窗口,如下图所示。在这里,我们想从 SQL 数据库导入一个关系表,因此请单击“导入”并选择“从关系表…”选项。
提示:如果您的查找表位于源或目标中,请选择它。

选择“从关系表…”选项后,将打开“导入表”窗口。在这里,我们选择名为 [LookupTransformationSource] 的查找表。请参阅从关系数据库导入数据文章以了解涉及的步骤。

单击“创建”按钮后,查找转换将添加到映射设计器中。双击它以配置其设置。
可用选项列表位于“端口”选项卡中。我们在 Informatica 查找转换中添加了一个新的输入端口(IN_CountryName)。

在“属性”部分,我们更改了连接信息并将其分配给 $Source 变量。

在“条件”选项卡中,我们添加了一个条件 CountryName = IN_CountryName。以下条件表明它将检查查找输入源(即国家名称)是否等于现有国家名称,如果条件为 TRUE,它将返回相应的国家代码。

完成查找转换的配置后,请将“源限定符”中的“国家名称”字段拖放到查找表中的 IN_CountryName 字段。
步骤 3(b):创建路由器转换
请参阅路由器转换文章以了解创建它的步骤。创建后,请通过拖动所需字段将源限定符连接到路由器转换。
从下面的 Informatica 查找转换屏幕截图中,您可以看到我们正在添加源限定符的所有列以及查找表中的 Cid 和国家名称。

双击路由器转换以添加组。从下面的屏幕截图中,您可以看到我们为非匹配记录创建了一个组和一个默认组。
让我们通过单击下面的箭头按钮为第一个组(非匹配)提供表达式或条件。这将打开表达式编辑器来编写自定义表达式。
在这里,我们想要查找表中不存在国家名称的记录。因此,我们编写了下面显示的表达式 (ISNULL(CountryName)。这意味着所有 Null 值都将放置在非匹配组中,非 Null 值将传递到默认组。

完成属性配置后,单击 OK 关闭转换窗口。

接下来,将目标定义([查找匹配行] 和 [查找不匹配行])从“目标”文件夹拖放到映射设计器中,如下图所示。
接下来,请将查找转换(输出组 1)连接到 [查找不匹配行] 表,并将默认组连接到路由器 [查找匹配行]。您可以使用“自动链接…”选项来链接这些字段。

在我们关闭映射之前,让我们通过转到“映射”菜单栏并选择“验证”选项来验证它。
步骤 4:为 Informatica 查找转换创建工作流
完成查找转换的映射创建后,我们必须为其创建工作流。PowerCenter 工作流管理器提供了两种创建工作流的方法。
在此查找转换示例中,我们将手动创建工作流。创建工作流后,下一步是为我们的映射创建会话任务。
步骤 4(a):为查找创建会话
有两种类型的会话
对于此 Informatica 查找转换示例,我们将创建非可重用会话。请导航到“任务”菜单并选择“创建”选项以打开“创建任务”窗口。在这里,您必须选择“会话”作为任务类型(默认),并为此会话输入一个唯一的名称(S_Lookup_Transformation)。
单击“创建”按钮后,将打开一个名为“映射”的新窗口。在这里,您必须选择要与此会话关联的映射。
在此查找转换示例中,我们选择的是我们在前面(步骤 3)创建的映射(m_Lookup_Transformation)。

双击会话任务进行配置。虽然我们必须配置源、目标和一些常用属性,但我们在此处不进行解释。我们强烈建议您访问会话文章以了解这些属性。
从下面的屏幕截图中,您可以看到 Informatica 工作流中的查找转换是有效的。现在,让我们通过导航到“工作流”菜单并选择“启动工作流”选项来启动工作流。

选择“启动工作流”选项后,将打开 PowerCenter 工作流监视器以监视工作流。我们的查找转换工作流已成功执行。

让我们打开SQL Server Management Studio 来检查我们是否成功存储了不匹配的记录。

让我们打开 SQL Server Management Studio 来检查我们是否通过查找转换成功存储了匹配的记录。

评论已关闭。