In this blog post I am going to be discussing the uses of the ‘Dynamic or Unknown Fields’ option. As with so many things in Alteryx at first glance it seems pretty straightforward but on further inspection and consideration it might accomplish more than you thought!
The Dynamic or Unknown Fields option is probably most often seen within a Select tool.
You can have the Unknown field selected or deselected and also move its position in the field list. The *Unknown represents any fields which may come into the tool which it did not know about when the module was originally built. If it’s selected then any new fields from the data stream will continue downstream for further processing and perhaps included in outputs, if deselected then any new fields will be dropped. Generally you probably pay little attention to this and generally it won’t really affect your processing, but there are occasions when it can be quite useful.
If you are building a wizard or macro, or perhaps just a module which other people may run and change the input data, then it may be useful to deselect the Unknown fields, this could speed up processing because you are dropping any unnecessary information.
If you know what fields you need for your module and you want the output to be consistent even when the input data changes and might include new/unknown fields then you can control this by deselecting the Unknown field in a select tool.
Or perhaps you want to keep these new/unknown fields but you don’t want them to be at the end of your data, simply move the Unknown field’s position. Did you know one of the many ways to do this is to right click and hold on the field you want to move and then drag it to its required position, or using the Options menu you can easily move items to the top or bottom without having to click the up or down arrows multiple times?
You will also see the Unknown field option in many other tools, wherever there is a built in select, for example the Join tool, but it also appears in the Table tool. Again you can select or deselect and also reorder its position.
Now there is also a subtle use for the Unknown field option which first requires some understanding of how Alteryx works. When data goes to a select tool (or a tool with a built in select) a flag gets set which says if the order of the data was changed. So if the fields are left in their original order the flag is set to false and Alteryx knows that it doesn’t need to do anything about the order of the fields and just leaves them how they are. Generally this is fine but if you have a wizard or module where the order of the fields in the input data is different to the order of the fields when you built the module then you may well end up with differences in your output. For example a table for a report which you had set up correctly when you built the module may be different when run through the wizard because the fields are in a different order in the input file. Nowhere in your module did the order get changed so Alteryx never did anything about the order. So you say to yourself ‘well I need to set the order in my table tool’ but you don’t actually want to change the order in your module because it’s how you want it. Well how about moving the Unknown fields? Even if they are deselected, just by moving the position it will set the flag for Alteryx to know that the position of the fields has been set and should be maintained.
I’m sure there are various situations where something similar to the above issue may occur, for example sometimes streams of data complete in a different order than you expected and this can then throw your expected ordering of the fields. If you have not specifically set the order you want the fields to be in then your output may not be exactly how you required or expected it.
I hope this blog post has been useful and has brought some insight to some of you around how Alteryx processes data streams and how it thinks about the ordering of your fields.