我有300行的Excel。我需要将这些行中的每一个用作转换中的字段名称。
我当时正在考虑创建一个工作,该工作为表的每一行设置一个变量,该变量随后将用于转换。
我尝试将变量定义为一行中具有的值,并且转换有效。现在,我需要一个循环,一个循环获取值,然后重新定义我创建的变量,然后执行转换。 我试图定义一个具有以下内容的工作:
开始->转换(ExcelFileCopyRowsToResult)-> SetVariables->转换(使用当前变量名执行的transf)。
问题是我定义的变量永不更改,因此转换结果始终相同。
答案 0 :(得分:1)
对结果集中的每一行执行转换是在PDI中执行操作的一种标准方法。您大部分都正确,但是不要设置变量(该变量仅在作业流程中发生一次),而是直接使用结果行。
首先,在“编辑”窗口中将第二个转换配置为对每一行执行。
然后,您可以使用两种方法之一将字段传递到转换中,具体取决于哪种方法更容易:
从结果中获取行开始转换。该应该每次使您获得一行。这些字段将直接在流中并且可以按原样使用。
将字段作为参数传递,因此它们可以像变量一样使用。我会经常使用它,但需要更多设置。