Swizzle
From Fmepedia
A Swizzle is a feature of a Custom Format and not to be confused with the Swizzler.
A swizzle defines some of the controls that are used when selecting multiple source datasets.
To be specific this setting controls whether multiple datasets are treated separately inside the custom format, or as a single set of features ("an inherent group-by" to quote Dale).
There are two types of Swizzle: an Inner Swizzle and an Outer Swizzle.
An Inner Swizzle means that all datasets you read are processed as a group. In the above example, features will be intersected against all other features regardless of which dataset they came from.
An Outer Swizzle means that each dataset that you read through the custom format is treated separately. For example, if you have an Intersector transformer in your custom format, features will only get intersected against others in the same dataset.
So from all this you could (like me) infer that...
- Swizzles make no difference when you are only reading one dataset at a time
- An Outer Swizzle could be used as a form of batch processing
- There are probably memory implications about using an Inner Swizzle when you don't have to
See the attached example which contains an Intersector transformer. There are two datasets, each consisting of a single line. The lines overlap.


Above: The left-hand display shows an Inner swizzle. Datasets are intersected against each other. The right-hand display is an Outer swizzle where datasets stay independent.
To try out the example:
- Install the custom formats (double-click the fds files).
- Start FME Viewer
- Open the two datasets using the format Demo of inner swizzle
- Open the two datasets using the format Demo of outer swizzle
- Query the features in the two views and compare them. The outer swizzle features will not be intersected.
