2

I have the following model:

enter image description here

In my two FC to FC tools shown above, I rename many fields. For example, table 1 has field "MEAN" and I rename it "approval_rate." Table two has "approval_rate" and I rename it "approval_rate_old." I join those two tables with renamed fields, and then run calculations on the fields by their new names (starting with Calculate Field (2)).

However, Calculate Field (2) fails, even though I have the syntax and field names correct in my simple VB expression. I think it is failing because FC to FC (2) is not changing the alias, just the field name. So when I open the resulting attributes table, it still shows all the previous names. In the example above, this leads to two fields with the alias "approval_rate" in the same table. So when Calculate Field (2) goes to run an expression using "approval_rate" it does't know which field to use and thus fails with "General Exception Error."

Does my hypothesis seem correct? Why is one FC to FC tool changing the name and alias, and one is only changing the name, not the alias?

Here is the screenshot of my Calculate Field (2) tool.

calc tool screenshot

And here are screenshots of the relevant columns in the input table.

field 1

field 2

field 3

1 Answer 1

2

Your question cannot be answered from the picture of the model and there is no way to verify that you have correctly described what you have actually done based on what you have shown. I do not believe that the alias would cause the failure. Anyway, you should not use the Rename option and instead should use the Properties dialog to change the Alias to match your field name to eliminate the confusion of having two fields with the same alias.

enter image description here

Since the calculation is on a joined table you need to fully qualify the table names for the fields in your calculation. You cannot make the expression just [approval_rate] on a joined table. Provide a screen shot of the calculate Field (2) set up so we can verify that the expression has been done correctly for the join you have created.

Edit: Sorry, you used Join Field and not Add Join in your model, so the comment about table names qualifying the field name does not apply. It is still best to screen shot your calculation and to change the alias at the same time you change the fieid name in the FC to FC tool using the Output Field Properties dialog box so that the Join field does not make it appear that two fields have the same name. Since you have had issues with your model refreshing after you change it, are you still sure that the alias did not change? How did you determine that the alias is duplicated?

3
  • Changing the Output Field Properties fixed my incorrect alias problem, but still the Calculate Field (2) tool is throwing a general exception error. I have updated my question with screenshots from that tool and the fields involved in that tool. Commented Mar 3, 2016 at 16:54
  • The error is that my denominator is sometimes zero. That's why calculate is failing. I will need to find some way around that. Commented Mar 3, 2016 at 16:57
  • You can change the Parser to Python and do an inline if calculation: 0 if !approval_rate_4yt! = 0 else (!approval_rate! - !approval_rate_4yr!) / !approval_rate_4yr! Commented Mar 3, 2016 at 21:49

Your Answer

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

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