【问题标题】:Create Rows depending on count in Informatica根据 Informatica 中的计数创建行
【发布时间】:2014-05-06 08:36:40
【问题描述】:

我是 informatica power center 工具的新手,正在执行一些任务。 我在平面文件中输入了数据。

        data.csv contains
        A,2
        B,3
        C,2
        D,1

所需的输出将是

        output.csv should be like
        A
        A
        B
        B
        B
        C
        C
        D

意味着我需要根据列中的值创建输出行。我用java转换试了一下,得到了结果。

还有其他方法吗。 请帮忙。

【问题讨论】:

    标签: informatica-powercenter


    【解决方案1】:

    Java 转换是一种非常好的方法,但如果您坚持另一种实现,则可以使用辅助表和 Joiner 转换。

    1. 创建一个帮助表并用适当数量的行填充它(您需要知道输入文件中可能出现的最大值)。
      COUNTER=1 有 1 行,COUNTER=2 有 2 行,COUNTER=3 有 3 行,以此类推。
    2. 使用连接器转换来连接来自输入文件和辅助表的数据 - 由于后者包含多个行作为单个 COUNTER 值,因此输入行将相乘。
    柜台 ------------- 1 2 2 3 3 3 4 4 4 4 (...)

    根据您的 RDBMS,您可以使用源限定符中的 SQL 查询来生成帮助表的内容。

    【讨论】:

    • 是的,java 转换是个好方法。创建帮助表是一种静态的。
    • 是否可以使用规范化器。
    • @user3013022 不,我认为 Normalizer 转换总是为每个输入行生成相同数量的输出行。
    • @user3013022 如果您喜欢 Java 解决方案,为什么要寻找不同的解决方案?
    • 你可以在这里找到详细的描述:powercenternotes.blogspot.com/2013/02/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多