Tutorial: Getting Started with List Attributes

Liz Sanderson
Liz Sanderson
  • Updated

FME Version

  • FME 2022.0

Introduction

This tutorial provides an overview of working with list attributes in FME. On this page, you will find introductory information, links to examples with workspace templates, and related resources. To learn more, visit "About List Attributes" in the documentation.
 

What are List Attributes in FME?

List attributes are FME's way of allowing multiple values per attribute. For example, rather than creating a text field named FRUITS that stores the value “Apple, Orange, Pear”, a user can create a list, which is more structured and can be broken down into constituent parts for processing:

Fruits{0}: Apple 
Fruits{1}: Orange 
Fruits{2}: Pear 

In FME, lists are denoted using curly brackets after the list name (e.g. this list is called "Fruits{}"), and a number inside the curly brackets represents the element's index inside the list (e.g. Orange is element 1 in the list). With this structure, lists can be reorganized, exploded into individual parts, analyzed statistically, and more.

In FME, lists can be built manually, created automatically by a transformer, read and written by some formats (e.g. XML and JSON), or "exploded" back into single-value attributes. FME has 15 transformers for list manipulation (plus more on FME Hub) and over 80 transformers can produce lists. Transformers often create a list when attributes from different features are grouped into a single feature. Transformers that create lists usually have a "Generate List" checkbox under the "Attribute Accumulation" section of their parameters dialog:
rtaImage.jpg

The Fruits{} list above is an example of a simple list. Complex lists can be created by adding attributes to each element. For example, we can add attributes for "COMMON_NAME" and "GENUS_NAME":

Fruits{0}.COMMON_NAME           Apple
Fruits{0}.GENUS_NAME            Malus domestica
Fruits{1}.COMMON_NAME           Orange
Fruits{1}.GENUS_NAME            Citrus X sinensis
Fruits{2}.COMMON_NAME           Pear
Fruits{2}.GENUS_NAME            Pyrus 

Each element in the list has a value for each attribute.
 

Articles

The following articles include an in-depth look at list attributes in FME and examples of list-based transformers and workflows.
 

Creating Lists Using Transformers

This example demonstrates creating list attributes manually and introduces a few common transformers that can build lists.
 

Transformers for Working with List Attributes

This example includes an overview of the transformers available for manipulating lists, plus downloadable workspaces that manipulate and analyze list attributes in FME.
 

Additional Resources

Was this article helpful?

Comments

0 comments

Please sign in to leave a comment.