Table Join Tool - Config Enhancements

568
2
05-15-2020 10:27 AM
Status: Open
Labels (1)
ColeAndrews
Occasional Contributor III

There is an either/or, catch-22 thing happening with the Join Field, Add Join, and Join Features tool. It creates inconsistencies between similar tools. Suggested enhancement(s) below.

Use Case: The user wants to table join two feature classes based on a common field and only include the fields needed from the join table. The desired output is a new feature class.

  • Join Field: With this tool, I can limit which fields are joined but it only updates the input table. There is no option to write a new output table, instead. 
    • Enhancement: Add an optional 'new output table' option in this tool

  • Join Features: With this tool, I can do the table join with a new output, but it copies every field from the join table and makes a mess of the output. There is no field mapping control nor a dropdown for which fields to join in from the join table. It requires subsequent, additional steps, to clean up the fields in the new output.
    • Enhancement: Add a field map to the tool to allow output field configuration, or add a drop down to select which fields from the target table and/or input table should be joined.

  • Add Join: This is temporary and not actually written to the GDB. I only mention this tool to address it as a third way to accomplish the use case, but you'd have to configure the fields in the layer after adding the join, or use the field mapper when exporting to a feature class. So, same problem of extra steps as noted above.
2 Comments
KoryKramer

Hi Cole Andrews  Thank you for submitting this idea!

I understand what you're describing, so any/all of the requested changed could be valid.

For your stated "Use Case: The user wants to table join two feature classes based on a common field and only include the fields needed from the join table. The desired output is a new feature class."

Since both the join and export honor field visibility, it looks like easiest thing to do would be to only display the desired fields in the join table - that way when the add join is performed, while all of the table's fields are available, only those that were Visible in the join table, remain visible in the target table.

Because that visibility is maintained, when you export the target table, by default, the non-visible fields are not included in the exported table.  Any joined fields are accessible through the field mapper, but if not visible will not be included in the output.

ColeAndrews

Kory Kramer‌- Thanks for the response. This makes sense and is a convenient way to handle the field mappings from within the map view, working with the data interactively.

In my case, I was/am building a model, so I believe I would have to create a "layer" in model builder in order to manage the displayed fields as you suggested (one of many options). Due to this being an extra step(s), I do still think the idea is valid to add field mapping and/or export options to the table join tools, and should be considered