以下是该方案:
我有一个包含发票行详细信息的来源:
INV# DATE QTY PRICE
123 12/16 1 50
123 12/16 2 20
我有另一个管道,我已经汇总了细节以形成标题
INV# DATE TOTALPRICE PURCHASE# LOC TAX
123 12/16 70 456 1000 7
我想使用Informatica
对这些记录进行排序并加载到相同的制表符分隔平面文件中因此平面文件输出将是:
123 12/16 70 456 1000 7
123 12/16 1 50
123 12/16 2 20
有什么建议吗?
我能想到的唯一方法是将一个字符串中的所有标题和详细信息列连接起来,并添加一个union转换来创建一个文件。
答案 0 :(得分:1)
按照以下步骤完成此操作:
1)您需要为标头和详细信息管道创建一个整数类型的新端口(header_detail_ind)。为此,您可以为每个管道使用两个表达式转换。此端口的标头记录的值应为1,详细记录的值应为2.
2)接下来使用两个管道作为输入的并集转换。 使用上面步骤中的表达式转换使管道(没有端口和数据类型)的输出相同,以便它可以映射到并集转换。您可以在两个管道中添加一些空字段来实现此目的。
3)接下来,按 #INV 和新端口 header_detail_ind 添加分拣机转换和排序数据。通过这种方式,您将按照预期的顺序获得标题和详细记录。
4)现在,您可以使用表达式转换来根据目标定义的要求准备输出。这将为目标定义所需的每个端口提供一个输出端口。您可以为标头和详细记录创建不同的逻辑,这些逻辑可以通过端口header_detail_ind进行区分。
答案 1 :(得分:-1)
您可以将记录分别写入同一文件。首先让头管道创建文件并写入头记录。然后让详细信息管道向其追加记录。