However, when your requirements need this, there is no direct way to do it in informatica joiner transformation. Either you do it in the db side, by overriding your source qualifier sql statement and building it in there.
However, I have seen that some designers dont like to override sql statements, in such cases you'd have to implement it inside the mapping only. Here's a workaround for achieving that. Here goes -
- Read both the sources using their own source qualifiers, normally.
- For both of them, put in an Expression Transformation after the source
- In both the expression transformations, create an output port with a constant value. For Example, call it dummy1 for stream 1 and assign it a value -1. Similarly, a port would be created in the second pipeline, lets call it dummy2 and assign it a value -1.
- Now create a joiner transformation. Link ports [including the one that we created with a constant value] to the joiner from both the expressions.
- In the join condition, choose to compare the dummy columns.
- The rest of the joiner configuration would have to be like any other joiner. Nothing specific.
Before implementing the above solution, be sure to go back and check if its actually required for your application to have cartesian product !!!!
good one!!
ReplyDelete