Hi, I’m an FME newbie. I have an ArcGIS sde (SQL) feature class of rooms with about 15000 rows across several hundred buildings. I need to write a list of rooms, by floor to directories for each floor in Google Sheets. I’m not sure how to go about generating each list. I’ve messed around with list builder some, but I’m stuck. I could do this in Python, but I’d like to take advantage of the FME Google Sheets writer.
It would be better showing some sample input data, and the desired sample output.
In a physical data sense, ListBuilder “pivots” data such that Eg.
Input
Floor, Room
1, A
1, B
1, C
2, D
2, E
...using ListBuilder, with Group By Parameter set to “Floor”, becomes:
Floor, Room{0}. Room{1}, Room{2}
1, A, B, C
2, D, E
Hmm, maybe a list isn’t what I need. I want to extract each row of rooms that match to a specific floor ID, and write all those rows to a Google sheet. For example, a sheet with all the rooms and their attributes for the 1st floor of Lincoln high school main building, another sheet with all the rooms on the 2nd floor, etc. Basically just turning one master SQL table of 15000 room entries into hundreds of tables/sheets for each floor, in each building at each site. I’m just not sure what combinations of transformers I need to get there
Basically:
- Use an AttributeCreator for each read row to create a “Sheet Name” Attribute, which could say, a concatenation of Building Name; Floor
- Use this Attribute value in the Writer/FeatureWriter for the Sheet/Feature Type Name Parameter

This is a form of “Fan Out” where the one Writer/FeatureWriter will send Features to different destinations based on an Attribute with a variable destination name.
https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Form/Workbench/fanout_about.htm
So I’ve solved the first part. I’m just using the SDE reader and breaking the table out into 363 CSV files for rooms on each floor.