2013-03-01 59 views
1

我们有几个表格用于存储报告的二进制blob及其元数据。我想做一个总结这些表格内容的报告。我为每个表创建了一个转换,它们都输出相同的变量。然后我有一个转换,读取值,然后格式化并写入到一个XML文件。如何合并水壶中的两个(或更多)转换流?

每个表转换都与输出转换隔离。然而,如果我将他们全部指向输出转换,那么似乎只有其中一个工作,结果只反映一个表(我假设他们每个都运行,但它们相互覆盖)。

因此,我假设我需要以某种方式合并流。我不想将这个代码硬编码到表格转换中,因为我想让它们保持可重用和解耦。我也不想将这个代码硬编码到报表编写器中,因为每当我只需要对一部分表进行报告时,我就需要对它进行处理。

我尝试使用“Join \ Merge Rows”或“Flow \ Append”流,但这些流在工作级别似乎不可用,并且您似乎无法在其他转换中嵌入转换。

这甚至可能在水壶?在版本4.1中如何?如果不是,它是在一个新的版本?

我的工作的二元组看起来像这样。我所有的表格转换都使用“复制行结果”,而作者使用“从结果中获取行”。

 Table1 
    / \ 
    / \ 
Start  Output Report 
    \ /
     \ /
     Table2 

回答

1

您无法合并作业中的流。工作并不是真正意图进行并行处理,我甚至不知道当你像你一样分流时可能发生什么(你可以做一些基本的工作分支,但就是这样)。您需要在转换中执行此操作,即使这意味着您只需创建一个包含调用转换步骤的包装作业即可。

+0

但是在转换中我不能嵌入另一个转换AFAICT,那么这是否意味着我不能为每个表单独转换? – ArtB 2013-03-02 19:24:59

+0

我不确定我是否按照你在这里做的,但是你可以在变换中嵌入变换 - 有点。这就是一个映射(子转换)。那是你在找什么?顺便说一句,目前社区版本的水壶是4.4。 – 2013-03-16 00:36:30