Skip to main content
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...
Hi

 

 

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

 

 

David
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 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?


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.

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.

 

 


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


Reply