Hi
In the join transformation, could we have a ‘natural mode’ switch to make join on all the common fields between the 2 tables.
Regards
Hi
In the join transformation, could we have a ‘natural mode’ switch to make join on all the common fields between the 2 tables.
Regards
Hi
I have to migrate a kimball style datawarehouse to a datalake so I need to generate flat files from star/snowflake schema
i.e.:
sales fact → product → product sub category → product category
sales fact → geography → sales territory
sales fact → promotion
I would like to create a loop that browse up the foreign keys and create a flat file containing the facts and all the dimension attributes
I can’t do it because I need to define case by case the matching columns in the EM Join table transformation.
A natural join transformation would make the join on all the matching column names and inject all the non matching columns.
It would reproduce the behavior of the Join instruction of Qlik.
Used in an iterate loop, I could have an automated process to migrate datawarehouses to data catalog and be sure I don’t miss a column
Regards
Hello Christophe,
I’m not sure if it can help, and others might have better ideas, but my initial try on this would be as follows:
I have sketched it out in a small .morph project (simplified into a single module), but in doing this I realize:
KR
David
idea_for_Natural join switch option.morph (14.4 KB)
Note that, given this is a feature request, the addition of a ‘natural join’ option would indeed be great (to avoid the logic I describe above).
In this same regard, it would be great if the Merge action was expanded by:
Sincere apologies for hijacking this post, just sharing some thoughts!
David,
Thanks for post, it’s always valuable to go deep in this kind of thoughts.
Indeed, I’m just looking for a simple way to reproduce the Qlik join instruction.
So it would be based on equal field names.
I’ve built a workaround by generating SQL scripts with EM but this is quite cumbersome.
I’d like it to be a specific transformation and not some options to activate in the existing Join transformation.
Regards
Interesting! Never thought of such a use case. Effectively, it’s about being able to dynamically define fields to join.
The capabilities to work in “dynamic” mode with EM are very powerful but 3 transformations can’t be used (as far as I can see) : the Join, the Unpivot and the keep/remove matching. for the Unpivot I would need a switch between “pivot columns except” (as it is now) and “pivot only these columns”. For the keep/remove, I often use it before a Join to make it an “inner” join.
Dynamic mode is rarely possible on ETL tools as they are column based (you design the transformation flow by column). EM is table based, you can create transformation without knowing in advance the table profil.
Maybe you have here a good subject for a linkedin post ?
Regards
UPDATE
The “Natural merge” action is confirmed for v5.6 and is planned for release in a couple of weeks. It will have 4 modes: