Skip to main content

FeatureMerger:

I wonder if anyone can give an example of a scenario where the number of features coming out of the Referenced port would be different to the number coming out of the Merged port? Would this only occur where there are Duplicate Suppliers?

I generally work on the basis that...

Merged is features that exist in both inputs (Requestor and Supplier).

NotMerged is the rest of the Requestor features.

Unreferenced is records which are only in the Supplier i.e. new records.

Referenced is the same as Merged.

DuplicateSupplier is features with the same join expression as an earlier Supplier feature.

Say you have 10 features entering the Requestor port, they all have the attribute FK = 1.

Further, assume you have 2 features entering the Supplier port, one with the attribute PK = 1, the other with PK = 2.

If you use the FeatureMerger on FK = PK then the following features will be output:

Merged: The 10 features that entered the Requestor port, with the added attributes from the one Supplier where PK = 1.

Referenced: The 1 feature that entered the Supplier port with PK = 1.

I hope this makes sense.


Say you have 10 features entering the Requestor port, they all have the attribute FK = 1.

Further, assume you have 2 features entering the Supplier port, one with the attribute PK = 1, the other with PK = 2.

If you use the FeatureMerger on FK = PK then the following features will be output:

Merged: The 10 features that entered the Requestor port, with the added attributes from the one Supplier where PK = 1.

Referenced: The 1 feature that entered the Supplier port with PK = 1.

I hope this makes sense.

I'll add that the documentation is pretty good at explaining the different output ports: http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Transformers/featuremerger.htm

 

 


Say you have 10 features entering the Requestor port, they all have the attribute FK = 1.

Further, assume you have 2 features entering the Supplier port, one with the attribute PK = 1, the other with PK = 2.

If you use the FeatureMerger on FK = PK then the following features will be output:

Merged: The 10 features that entered the Requestor port, with the added attributes from the one Supplier where PK = 1.

Referenced: The 1 feature that entered the Supplier port with PK = 1.

I hope this makes sense.

Thanks that's really helpful. I've read the documentation but that example helps to explain it.

 

So far most of my feature merging has been done with 1:1 joins.

 

 

Re-reading the documentation has also reminded me of something else: Am I correct in thinking that although the same number of features may be output through Merged and Referenced, the Referenced ones will have the attributes from the Supplier, whereas the Merged ones will have what you choose in Attribute Accumulation in the transformer properties?

 

 


Thanks that's really helpful. I've read the documentation but that example helps to explain it.

 

So far most of my feature merging has been done with 1:1 joins.

 

 

Re-reading the documentation has also reminded me of something else: Am I correct in thinking that although the same number of features may be output through Merged and Referenced, the Referenced ones will have the attributes from the Supplier, whereas the Merged ones will have what you choose in Attribute Accumulation in the transformer properties?

 

 

Yes, that's right. The Referenced output will be the supplier features that found a match and were joined with a Requestor feature, exiting the Merged port.

 


Reply