Skip to main content
Best Answer

Case insensitive field names

  • November 6, 2015
  • 6 replies
  • 472 views

I have set up a complex workbench, which 8 of the 10 times runs fine without trouble. However, twice it has fallen over now, because my input data provider has been using lowercase for an attribute name when he normally uses uppercase. I can't change it in the transformer (AttributeRangeMapper), because it only 'sees' the uppercase attribute name from the reader (with wildcard).

 

 

Given that this is such a basic issue, I hope that there is a very basic solution as well. Is there?

 

 

At the moment, my solution is to have a second identical workspace, but with the offending attribute names set to lowercase. Not ideal...

Best answer by david_r

Hi

 

 

Take a look at the BulkAttributeRenamer, it can e.g. make all your attribute names lower or upper case in one go.

 

 

David
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

6 replies

david_r
Celebrity
  • Best Answer
  • November 6, 2015
Hi

 

 

Take a look at the BulkAttributeRenamer, it can e.g. make all your attribute names lower or upper case in one go.

 

 

David

  • Author
  • November 9, 2015
I like your answer David, pretty much making your attributes case insensitive. Cheers! I only saw your answer after I'd managed to find a solution myself: I am using an AttributeFilter on the uppercase attribute name. If it's <Unfiltered>, it goes straight through to the next transformer. If it's <Missing>, I am re-routing it through an AttributeRenamer changing the (unwanted) lowercase to uppercase.

  • June 21, 2018

I have the same problem as arnold and can fix it with his answer. Problem is, that I have a lot of attribute names in lot of feature typs. Because the source data comes from different external companis, the upper/lower case can appear in different forms.

Is there no way that FME ignores the case sensitivity for the complete workspace?


david_r
Celebrity
  • June 21, 2018

I have the same problem as arnold and can fix it with his answer. Problem is, that I have a lot of attribute names in lot of feature typs. Because the source data comes from different external companis, the upper/lower case can appear in different forms.

Is there no way that FME ignores the case sensitivity for the complete workspace?

As far as I know there is no option for this, unfortunately.

Forum|alt.badge.img
  • June 22, 2018

I have the same problem as arnold and can fix it with his answer. Problem is, that I have a lot of attribute names in lot of feature typs. Because the source data comes from different external companis, the upper/lower case can appear in different forms.

Is there no way that FME ignores the case sensitivity for the complete workspace?

You can handle the case sensitivity (where attribute names in workbench differ with those in writer due to Case mismatch) just before Writing the features to Writer. But after reading, the inconsistency in the Case can be handled only by placing BultAttributeRenamer after every Reader, I can think of now.

 

 


  • September 5, 2019
I like your answer David, pretty much making your attributes case insensitive. Cheers! I only saw your answer after I'd managed to find a solution myself: I am using an AttributeFilter on the uppercase attribute name. If it's <Unfiltered>, it goes straight through to the next transformer. If it's <Missing>, I am re-routing it through an AttributeRenamer changing the (unwanted) lowercase to uppercase.

I tried your workaround and the AttributeFilter and AttributeRenamer works for the <missing>. I can see that the datasets run thru the workspace. There is no error but the value of the attribute is still <missing> at the end. It seems, that the value never gets into the workspace because of the wrong AttributeName.

How can I get this value?

 

Edit:

Found the solution for me. I add another attributename in the reader. Now I have two, "GlobalID" and "GlobalId". I got the value and can do the Filter and Renamer afterwords.

https://knowledge.safe.com/questions/25260/how-do-i-change-one-attribute-in-a-reader.html