Page 1 of 1

Splitting one input record into multiple output records

Posted: Mon Aug 11, 2003 6:20 pm
by datastageuser
I have an input record with the format:
(a, b ,c ,d ,tax1, value1 ,anothervalue1, tax2, value2, anothervalue2)
Datatype of tax1 and tax2 is tax, value1 and value2 is value, anothervalue1 and anothervalue2 is anothervalue.

My output record looks like:
(tax, value, anothervalue) - So output record is a subset of the input record.

How can I use the transformer to create 2 output records:
tax1, value1, anothervalue1
tax2 ,value2 a,nothervalue2

The problem I am having is that I am not able to map both (tax1,value1,anothervalue1) and (tax2,value2,anothervalue2) from the input file to the output file (tax,value,anothervalue).

So basically from a 1 record input file I need 2 records in the output file and all the fields in both output records are in the single record of the input file.

Any suggestions would be helpful.

Regards.

Posted: Mon Aug 11, 2003 7:25 pm
by kcbland
Since you neglected to state your release, here's a pre 6.0 solution:

If you have 0, 1 or 2 output rows, simply have your transformer output to two sequential text files, a and b. Put a constraint on the output link to 'a' where you have values for the first output row. Put a constraint on the output link to 'b' where you have values for the second output row. Put an after-job ExecSH or ExecNT command to concatenate a and be (NT command is copy a + b c, Unix command is cat a b > c.

For 6.0 later, use a link collector for the two transformer output links, then a single link to file 'c'.

Posted: Mon Aug 11, 2003 7:53 pm
by vmcburney
You also have the option of splitting and merging your data before your transformer which will simplify your transformer and output code.

Create two file/database input stages pointing at the same source. The first stage retrieves tax1, value1 ,anothervalue1. The second source retrieves tax2, value2, anothervalue2. The merge stage merges them into tax, value, another values. You then have one transformer and one output from your job.

Thanks

Posted: Thu Aug 14, 2003 6:52 am
by fred
Thanks guys for the suggestions. It was helpful.

V7.0

Posted: Fri Oct 03, 2003 6:31 am
by aaronej
Version 7.0 has a rowmerger stage and a rowspliter stage, these should accomplish this nicely.

Aaron