AttrManager2016-7It was Benjamin Franklin who once said: “there is nothing certain in life, except death and taxes”.

Of course, they didn’t have FME in 1789, otherwise he might have said: “there is nothing certain in life except death, taxes, and the need to manage attributes”.

Yes, it might not be the most stimulating of topics, but attribute management is something we all do with FME. We add attributes, delete them, change their names, edit their values, cut, copy, paste, concatenate, and so much more besides.

And in FME 2016 there is one transformer to do all that for us. It’s the ultimate FME multi-tasker. The AttributeManager!


What Can It Do?

There are a number of tasks this new transformer can carry out, specifically:

Therefore you can say it replaces the:

…and if you consider that the AttributeCreator itself replaces some transformers, you can also use the AttributeManager in place of:

Really, that’s all you need to know. There’s not a lot of technical info I can add here. The important part is that you are aware of the transformer. But I’ll run through a few parts of the parameters dialog anyway…


The AttributeManager Parameters Dialog

Here’s the AttributeManager simply connected to a source dataset (our old favourite, the MapInfo TAB parks data):


First notice that all incoming attributes are automatically listed. When I first saw that I was really happy. It means I no longer have to individually add all of the attributes I want to carry out an action on. A great idea.

Now notice the far right column – the one labelled action. That’s where I can define what I am doing to an attribute:


However, I can also just make edits and the action field will match what I have changed. For example, if I rename NeighborhoodName to Neighborhood (by just setting the Output Attribute to have a different name), the action changes accordingly:


So, if I put a value into the Attribute Value field, it becomes a “Set Value” action. That value – like the current AttributeCreator – can be a fixed value, the value of another attribute (effectively an attribute copy); or I have the usual abilities to use a text or numeric editor, set it to null, set it to a user parameter, or use conditional values:


To create a new attribute I enter it into the the foot of the list – and of course I can then set a value for it using any of the above methods. I can also remove an attribute by simply deleting it. In a rather nice touch, instead of it disappearing from the dialog, it remains in place, but with no Output Attribute listed.

Finally, there are up/down arrows on the dialog so I can reorder my attributes. So, with a bit of editing, my original attribute list might look like this:


Notice the attribute list on the transformer is updated to match what I have defined in the parameters dialog, even the order of the attributes.

Oh! Two parts I almost forgot. Firstly, lists. This transformer isn’t designed to expose and manage individual list elements, but you can carry out actions on the list object itself. For example, I can rename myList{}.myAttribute to yourList{}.yourAttribute.

Secondly, this transformer has the parameters for fetching attribute values from neighboring features (as the AttributeCreator does), plus the ability to carry out substitution of missing, null, or empty attributes:




So that’s about it. Probably one of the shorter posts I’ve written, but the transformer is simple to understand and you don’t need to be a modern-day Benjamin Franklin to use it. I predict that in a short time it will appear at the very top of our most-used transformers list; possibly even overtaking the Tester!




About FME Attributes FME Desktop FME Evangelist

Mark Ireland

Mark, aka iMark, is the FME Evangelist (est. 2004) and has a passion for FME Training. He likes being able to help people understand and use technology in new and interesting ways. One of his other passions is football (aka. Soccer). He likes both technology and soccer so much that he wrote an article about the two together! Who would’ve thought? (Answer: iMark)


2 Responses to “FME 2016 Sneak Peek: Attribute Management”

  1. Takashi Iijima says:

    Yes, I found that this transformer is very useful through trying 2016 beta in this few weeks. I noticed it can also expose an attribute, if you set an unexposed attribute name to Output Attribute and set @CurrentAttribute() to Attribute Value with “Set Value” action. Is this an expected use?
    One more a trivial question. In 2014, every “Do Nothing” has been replaced with “No Action”. Why “Do Nothing” again?

Leave a Reply

Related Posts