Limitation in merge/joins


Congratulations on the excellent EasyMorph tool! It's really great!

But I'm encountering a frustrating limitation.
Is it not possible to use a custom expression in merges/joins?

Hello Jorge, and welcome to the Community!

Thank you for the good words! Can you please elaborate on what you mean by "custom expression in merges/joins"? Any example/screenshot would be helpful.

Hi @dgudkov,

Something like comparing with a constant value and/or enabling the use of other operators like <=, <, >, >=

I believe it would be interesting to utilize the current GUI, similar to "merge another table," and provide the option to switch to a text editor... something like the Expression Editor in the calculated column. Alternatively, offering additional possibilities within the GUI itself, such as selecting an operator and allowing the insertion of a constant value/parameter, etc.

In my current specific case, I would like to perform a join based on key columns and compare another column with a constant value.
I understand that it can be resolved using other methods, but I believe it would be simpler and more direct if there was a possibility to do it all at once.

Perhaps my suggestion is influenced by ANSI SQL :slight_smile:

Thank you

It looks to me like it's not different from regular merging and then filtering because comparing a column with a constant value is not matching, it's filtering.

In EasyMorph, you can do different types of joins that are not necessarily based on exact matching. For instance, the "Interval merge" action performs a merge when values in a column fall in a range defined by two other columns.

Also, if you use the "Match" action before "Merge" you can do fuzzy matching, or "if contains" type of matching.

Finally, if datasets are not too big, you can do a cross-merge and then filter rows as necessary. If they are big, you can still do that with the help of iterations (loops). So use "Merge" and then apply the "Filter by condition" action.

A core principle of EasyMorh design is to use simple but composable actions for the purpose of better readability and ease of use. Therefore, some SQL-type queries may require 2 or 3 actions in EasyMorph. This is by design - decomposing complex logic into smaller steps offers clarity, saves time, and reduces human errors.

I got it,

Thank you.

Hello again!

I'm testing the interval merge and I noticed that the comparison operator for the upper boundary is "less than," but in my case, it would be necessary to have "less than or equal to."

In my case, I'll have to create a temporary column by adding 1 to my actual upper boundary column and then use it as the upper boundary.

Don't you think it would be interesting to make it more flexible by allowing both inclusive and exclusive boundaries? Perhaps a checkbox next to each boundary box.

And I also missed the merge modes (Lookup, Left, and Full Join from Merge Another Table). I will have a use case that would require the lookup mode with interval merge.

I'm sorry if I'm overwhelming you with my suggestions. It's just that your tool is incredibly good, which has set my expectations very high.

Thank you.