The FeatureMerger is one of the most frequently used transformers; it can be used to merge attributes of feature(s) (supplier) to other feature(s) (requestor).
The merging condition should be specified as the "Join On" parameter. In many cases, it will be set to attribute names of requester and supplier features. I think this is the most common usage.
However, the current FeatureMerger (FME 2013 SP2 or later) allows various settings other than attribute names to the "Join On" parameter:
Constant
A constant value (including link to a User / System Parameter) can be specified to the "Join On" parameter. This means we can use the FeatureMerger to perform "unconditional merging". If you set the same value (e.g. 1) to both of requester and supplier, it will merge features unconditionally.
We don't need to neither create an attribute holding constant value beforehand nor download the UnconditionalFeatureMerger from the FME Store.
Expression and Conditional Value
Using the String Editor, we can specify not only a simple concatenated attribute values but also more complicated expression with FME functions or Tcl commands to the "Join On" parameter. Furthermore, the Conditional Value settings can be also used.
If we can make full use of them, the number of transformers may be able to be reduced dramatically in some cases.
I think the current FeatureMerger has extremely larger availability than the previous version, against various needs. When I found a practical usage, will post again!
Thanks for writing this. I was looking for a way to merge features without a join on attributes. I used 1 and 1 as you suggested and it worked.
ReplyDelete