Joins do not work in Modelbuilder 10

11041
34
02-07-2011 01:07 PM
TomMagdaleno
Occasional Contributor III
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
KatieBrien
New Contributor
  Is anyone else dealing with this crap?


Yes!!! It's also driving me absolutely batty! I currently have an add join with spatial indexes and attribute indexes applied to both input tables and Arc10 is still telling to me create attribute indexes...

When will ESRI realise to perform a proper bug check before releasing this crap???? We only just moved over to Arc10 last week (thinking that after 6 months the first service pack would solve a lot of trivial bugs).... Seems it was a mistake....

By the way, I have found that if you have any Appends or Copy Features inside models they will also contribute to it falling over. Solution: Remove those tools and re-add them in... Yet again an annoy and time consuming job to do.
0 Kudos
FrankVignati
Occasional Contributor II
YES dealing with that here too, what also works, but waste time, is to remove the link to the join, run the model to create a new table, validate, then re-link the join to the output
waste of time


Make sure to add a remove join to the output after calculating fields if you do not want the other tables fields in the final output
is any one else experiencing the out puts resulting in added fields like 1, 12, 12 13, 12 13 14 after testing models ?
0 Kudos
KenHartling
Esri Contributor
Hi,

Would you be able to provide me with an exact reproducible case for the AddJoin problem you are seeing?  I've been trying a number of things based on the information you have provided but so far have not seen the exact behavior you are describing.

Please include the toolbox, model and a small dataset.

Thanks,
Ken
ESRI Product Engineer - Geoprocessing
0 Kudos
TomMagdaleno
Occasional Contributor III
Hi,

Would you be able to provide me with an exact reproducible case for the AddJoin problem you are seeing?  I've been trying a number of things based on the information you have provided but so far have not seen the exact behavior you are describing.

Please include the toolbox, model and a small dataset.
Thanks,
Ken
ESRI Product Engineer - Geoprocessing



Hi Ken, thanks for getting back to me.  This model takes data we get from the county and scrubs it based on our error log.  So if we put "nil" in a cell in the errorlog it will clean out the data in the county data.  Conversely if the data in the cell does not match what we have in the error log, it will overwrite the cell in the county data with what we have in our errorlog.  Finally if the county has corrected the error, the model will clean the errorlog by blanking out that cell in the errorlog. 
Can you give me a private email so everyone can't get our city data.
0 Kudos
JamesLandwehr
New Contributor III
I too am frustrated with Model Builder in 10 (Build 2800). I consistently get an error that my join table is already joined. The troublesome part is that I don't know how to "unjoin" it, and feel I shouldn't have to within a model as that's inefficient (to say nothing of bad logic.)

Between that and the fact that after you rebuild a join, you have to re-truncate your output fields from jointable1.Field1 to Field1, jointtable.Field2 to Field2. (examples) for every field, I am incredibly disappointed with the way it works now. This used to work in 9.3.1.
0 Kudos
FrankVignati
Occasional Contributor II
I too am frustrated with Model Builder in 10 (Build 2800). I consistently get an error that my join table is already joined. The troublesome part is that I don't know how to "unjoin" it, and feel I shouldn't have to within a model as that's inefficient (to say nothing of bad logic.)

Between that and the fact that after you rebuild a join, you have to re-truncate your output fields from jointable1.Field1 to Field1, jointtable.Field2 to Field2. (examples) for every field, I am incredibly disappointed with the way it works now. This used to work in 9.3.1.


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
0 Kudos
GavinJackson1
New Contributor II
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,

Under geoprocessing environments you will find an option tocheck/uncheck "maintain fully qualified field names" or something to that degree. This will allow you to perform joins/remove joins without having to let ArcGIS/ModelBuilder find the fully qualified field name (e.g. fieldname  not tablename.fieldname)
0 Kudos
FrankVignati
Occasional Contributor II
Hi,

Under geoprocessing environments you will find an option tocheck/uncheck "maintain fully qualified field names" or something to that degree. This will allow you to perform joins/remove joins without having to let ArcGIS/ModelBuilder find the fully qualified field name (e.g. fieldname  not tablename.fieldname)


Thank you, even though that is unchecked, the results in the model show the Table.Field name. In the pictures attached you can see that the table exported from the model has the simple fieldnames but objects in the model do not. With the results in the model having the full qualified path other tools can not be run from them, like Make XY Layer, and if the resulting tables are used, like in the example, other processes will not work from them. The spatial join I am trying to accomplish does not get the fields from the join on the result in the model, the features output have to used in order for it to work.
This is very clunky and frustrating.
0 Kudos
GavinJackson1
New Contributor II
Hi Frank,

To my knowledge, spatial joins will always result in tablename.fieldname.

If you have a common unique identifier in both tables/fc's you could use a "join field" which, unfortunately requires an ArcINFO license, because it allows you to output only the fields you want to join.

Hopefully that helps.

Gavin
0 Kudos