In case you missed the announcement: The Alteryx One Fall Release is here! Learn more about the new features and capabilities here
ACT NOW: The Alteryx team will be retiring support for Community account recovery and Community email-change requests after December 31, 2025. Set up your security questions now so you can recover your account anytime, just log out and back in to get started. Learn more here
Start Free Trial

Alteryx Designer Desktop Ideas

Share your Designer Desktop product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines

Non-Equi Relationships in the Join Tool

Joins are a vital part to any analysis.  Relating data together is the backbone of bringing data together.  Currently the Join Tool allows the relating of one or many data fields that are assigned to be equal to each other (aka Equi-Join).

 

As creativity evolves and users aspire to construct more complex relationships, Non-Equi relationships become more prevalent.  What are Non-Equi relationships?  Simply put, they are Non-Equal.  Examples:

  • Field_A  <  Field_B
  • Field_C  >  Field_D
  • Field_E  <=  Field_F
  • Field_G  >=  Field_H
  • Field_I  !=  Field_J

 

Non-Equi relationships are especially useful when working with dates that fall within a range of dates contained within two other fields.

  • Example:  Target_Date BETWEEN Low_Date AND High_Date

 

Currently, to accomplish this, there are a couple options:

 

1. Generate Rows:

  • You can use the Generate Rows Tool and fill in the range of values
  • Then use the traditional Equi-Join matching the generated date to the Target_Date
  • And persist only the INNER join stream

    Lots of tools to accomplish a "simple" task

<or>

 

2.  Cartesian Join:

  • You can use the Append Tool to replicate every Target_Date onto every row containing the Low_Date and High_Date fields
  • Filter where the appended Target_Date is between the Low_Date and High_Date

    Memory intensive, creating many unnecessary data rows, and may ultimately not work with large datasets

 

 

A simple solution, or alternative, would be to enhance the existing Join Tool to allow for choice in the "Join by Specific Fields" configuration section.  For example:

 

jrlindem_0-1761703174606.png

 

Adding in a drop-down menu per field pairing, the additional Non-Equi options could be added.  Equal would be the default, but users could otherwise pick the relationship type to accomplish the same "between" condition.

 

Here's a zoomed image of the look and feel:

jrlindem_3-1761703769943.png

 

 

The benefit is a much simpler configuration within the workflow, avoiding extra tools and creating a bunch of extra data rows that aren't relevant to the result.

 

If you're reading this and would like to see this enhancement to the JOIN Tool, consider a quick click on the like button.  It helps ideas like this get more exposure and lets Alteryx know this is important to you!

 

Cheers and thanks for taking the time to consider this idea!  -Jay (jrlindem)

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Acknowledgements:

 

It's important for me to point out that this isn't the first time this idea has been posted.  There are others that share the sentiment for both Non-Equi Joins as well as other enhancements to the join tool.  Here are two other, older, ideas that share some of the same needs:

3 Comments
haraldharders
9 - Comet

I like that idea. Please also add "Left contains right" and "Right contains left". Also add options for case (in)sensitive join.

simonaubert_bd
13 - Pulsar
jrlindem
12 - Quasar

@simonaubert_bd Thank you for pointing this out!  I'm not sure how I missed this when searching before.  But yes, this would be a duplicate.

 

Not sure how I feel about it being proposed back in 2014 and not being incorporated though 😅

 

Thanks again, -Jay