I want to use feature merger to merge data from a number of excel spreadsheets that all share a common unique ID. Is this possible? I have had success merging two sheets but when I try to merge a third sheet the new entries appear as 'Missing' Am I doing something wrong?
Hi @niamhoreilly,
Have you tried using the InlineQuerier? This transformer allows multiple datasets to be joined rather than just two datasets with the FeatureMerger. Using the InlineQuerier, you would set up an SQL to join the excel spreadsheets based on the unique ID.
Alternatively, you could use 2 FeatureMergers, where you would join 2 spreadsheets and then using the Merged output port from the first FeatureMerger and the third spreadsheet in a subsequent FeatureMerger.
[Edit]: See this article here for more help if needed.
Hi @niamhoreilly,
When (and only when):
- 'You always merge on the same ID in between worksheets' (The attribute that stores this ID has to have the same name in all worksheets).
- and 'The attribute names that you want to merge are unique'. (no conflicts between worksheets in attribute naming and values)
- and 'You have (at least) 1 worksheet with all unique IDs in it.'
Than you can fix this using 1 Featuremerger transformer. Just connect the worksheet with all unique IDs to the requestor port and all other worksheets to the supplier port. Then enable the 'proccess duplicate suppliers' option. The Featuremerger will otherwise only take the first 'supplier' worksheet into account. As a result, you will have joined the different worksheets based on this unique ID. If the same attribute is present in multiple worksheets the featuremerger will only join it once. This is why it's important to have unique names for the attributes that you want to join.