Select to view content in your preferred language

Joins do not work in Modelbuilder 10

13283
34
02-07-2011 01:07 PM
TomMagdaleno
Frequent Contributor
So far I have been working on fixing models almost exclusively for a week!  I have models with multiple joins and calculations and ever since we upgraded to 10 they do not work.  I have a "Remove Join" and then a second Join, but I get errors saying that my inputs are not current.  When I do a validation it will tell me so and so table is already joined.  So I have to exit out, delete the joined table then open the model again to validate the data.  Now the data before the join won???t work because it thinks the ???field name does not exist??? because the table is no longer joined! 

MODELBUILDER USED TO BE SMARTER THAN THIS!

Now I have to break up my models into several models and export out intermediate data so I can work with it.  This is what I was told to do by tech support.  This is driving me nuts!

Also, ???Make Table View??? changes every time the model is validated.  If I have only a few columns checked in the table view, then run a validate it will recheck all the columns and screw up my output.  Tech support tells me to not use .dbf tables, to put everything in a geodatabase, do permanent joins and export out intermediate data.  This is getting to be WAY more steps then just doing a few simple joins and calculates in ArcMap.  Is anyone else dealing with this crap?
0 Kudos
34 Replies
ShitijMehta
Esri Regular Contributor

Can you share your model and data?

0 Kudos
RichardFairhurst
MVP Honored Contributor
So much time has passed on this thread and I now sit in 10.1 with joined field names that will only 'Maintain Fully...'
Is there a practical use for this? Why is it the default?

The joins are still a mess and now Model Builder likes to lock itself. There's only one instance of ArcMap open but if I don't manually refresh the table views (by opening the tables from the TOC) it'll lock up on me.

Could someone please tell me why you'd want your field name to be something like [TEMP_PIVOT_GROUPBYFID.FID_Buildings] instead of [FID_Buildings]? I'm at a loss as to how anyone who'd be doing a join in Model Builder wouldn't know the source tables nor could look at the inputs to Model Builder to figure them out. Why is this the default since 10? What big ESRI customer asked for this change and why does it persist?

Enough ranting. Cheers to those that feel my pain.


It is the default because I join tables with identical field names all the time and the only way to tell which field I am referencing is by using the full name.  Also, ObjectID, which I also use in queries, is identically named in both tables.  Context would not make the name clear to anyone without the fully qualified name.  Beside, computers know nothing of context and suck at ambiguity, unless a programmer, who has no idea what your join actually looks like, programs it with intelligence that matches your logic if you are allowed to input ambiguous data.  Every time such logic has to be added the speed of the program decreases, sometimes significantly.

Joins work wonderfully for me, but probably because I only use file geodatabases or SDE and not shapefiles or Excel.  The Model Builder Environment can set outputs to be without the fully qualified name, which is necessary if you insist on being a dinosaur and using shapefiles.  It is found in the Fields Environment settings in Model Builder.  If you change that setting using the Geoprocessing > Environments menu that setting will become your default.
0 Kudos
JimW1
by
Frequent Contributor
It is the default because I join tables with identical field names all the time and the only way to tell which field I am referencing is by using the full name.  Also, ObjectID, which I also use in queries, is identically named in both tables.  Context would not make the name clear to anyone without the fully qualified name.  Beside, computers know nothing of context and suck at ambiguity, unless a programmer, who has no idea what your join actually looks like, programs it with intelligence that matches your logic if you are allowed to input ambiguous data.  Every time such logic has to be added the speed of the program decreases, sometimes significantly.

Joins work wonderfully for me, but probably because I only use file geodatabases or SDE and not shapefiles or Excel.  The Model Builder Environment can set outputs to be without the fully qualified name, which is necessary if you insist on being a dinosaur and using shapefiles.  It is found in the Fields Environment settings in Model Builder.  If you change that setting using the Geoprocessing > Environments menu that setting will become your default.


That's quite unfair of a response. I can assume you did not read this thread nor do you work much outside of the ESRI environment in databases.
0 Kudos
BillBranson
New Contributor
That's quite unfair of a response. I can assume you did not read this thread nor do you work much outside of the ESRI environment in databases.


Jim W,

We all feel the pain. Richard Fairhurst has drunk the kool-aid, and can one expect anything different? That's who pays him for shilling on here.

The Root Cause is how ESRI has chosen to approach DB Management. For some reason(s), back before ArcGIS 8, ESRI has taken their own approach to DB structure and rules of interaction. Not only that, these "rules" don't seem to persist in precisely the same approach across major software 'updates'.

Like any large organization, responsibility for keeping it together isn't hanging on any one person or steering committee and therefore it breaks a lot when it clearly shouldn't.

Add to that the fact that ESRI is the only player (like Auto CAD in their field) and you get a geometric increase in inertia to make sane and timely changes. Being the only game in town makes them immune to reasonable requests from their user base.

Also, I think since looking at the 10.2 stuff it seems that ESRI is focused on monetizing their business in every way possible. I can only assume this is so because people are using their product less and less and so they need to squeeze more $$ out of every user. That focus drops this kind of software updates/fixes from �??low priority�?� to �??No priority�?�.

Now every answer will be the same: <chipper voice>"You can do this fast, easy, super awesome thing in 10.2!!! Just log into your account at ArcGIS Online</chipper voice>

And all ArcGIS users everywhere say? Ughh!
MarkYoung
Deactivated User
you can add a remove join to the model on your join out put with the result of what uou use the join for as a precondition, see attached
'm hoping to find a way not to have the output set to table.field in the exported tables but haven't found it yey, if you find it please post


Hi,
I had the same problem with add Join but your diagram has fixed my issue - thanks for the post,
Mark
0 Kudos