1

I am trying to perform an attribute join, and it's just not happening for me. The Excel field (csv) is formatted as text. This is because it is prefixed with a 0 which is lost if it's any other format (e.g. 0100). The field I am trying to join to in the attributes table is "string".

I am using ArcGIS 10.3.1

In the join pane, the table I am wanting to join (excel) is visible in drop down 2, with the fields visible in drop down 3. However, when I select the field that the layer will join (attributes table) (drop down 1) all my field options in drop down 3 disappear.

What am I doing wrong?

4
  • Welcome to GIS SE! As a new user be sure to take the Tour to learn about our focussed Q&A format. So that we can try to tell what you may be doing wrong, would you be able to use the edit button beneath your question to revise it with more precise details of the steps that you have performed, please?
    – PolyGeo
    Sep 26, 2016 at 4:02
  • 2
    are you sure that you mean 'spatial join'? From your description it sounds more like an attribute join Sep 26, 2016 at 4:19
  • You are spot on, I meant attribute join... :)
    – Malanus
    Sep 26, 2016 at 4:49
  • Please update your question when you get new info - please remove spatial join from your question and change it to attribute join.
    – jbalk
    Sep 26, 2016 at 5:15

1 Answer 1

5

Are you trying to join a .CSV file to your attribute table? Because a CSV file doesn't retain any excel formatting information. Either way, it sounds like ArcGIS is deciding that your 'string' field is better suited as an integer field.

If you use the 'Table to Table (Conversion)' tool you can tell ArcGIS to use specific field types for all of your fields. Refer to the image below and the tool's help on how to to this.

Table to Table - Field Mapping EDIT: I'm not too clear on what errors you're getting or whether you're doing an attribute join as opposed to a spatial join, but your original error (where your CSV's fields disappear after selecting the attribute field to join on) is caused by field types not matching; I.e. you can't join a string field to an integer field, because the string '100' is not the same as the integer 100. If you map your CSV's field to be of the same type as the field you're joining it should fix that error. To find out what data type the field is mapped as, right click the field name in the attribute table and select 'Properties'. The field's data type will be shown in the pop-up window.

field data type 1 field data type 2

3
  • Hmmmm, that hasn't quite done it. Although thats probably a reflection of me at this stage. I will have another go, or failing that, try and redescribe my problem (GIS n00bs for you)
    – Malanus
    Sep 26, 2016 at 4:44
  • @Malanus I've edited my question to explain it a bit further.
    – nwduncan
    Sep 26, 2016 at 5:07
  • Thank you so much! Its working... hugely appreciated (and relieved) :)
    – Malanus
    Sep 26, 2016 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.