A lot has been written about how to develop different workflows, inbuild the wildest logics and automate business processes. Not so much, though, on the visual part of the workflows and apps as some call it “beautification”.
Obviously, Alteryx workflows are developed for a wide range of purposes. Whenever you need to draft a bunch of tools for your own analysis, your workflow will look very different from if you are a master developer building an app for client’s use. And in fact, this is also Alteryx’s charm.
Ok, why should you build nice and neat workflows?
- Easy to edit. Primarily, it makes it much easier to make changes. Now, as well as in a longer period and not only by other users but by yourself as well. People forget and whatever you build now, you won’t understand in a couple of months, especially with difficult logic and/or workarounds.
- Faster development. Are you using ten inputs and more? You will get lost in what you are supposed to join with what and where you appended that multiplicator – just an example… You will be able to refer back to the logic, find mistakes, troubleshoot, fine tune etc. much faster.
- No need of process documentation. Are you using a separate Excel spreadsheet or Word document to capture the logic built in Alteryx? There is absolutely no need if you use the tips & tricks described below.
- Handover purposes. Generally, what I described above, if you are a consultant or a master developer and you need to hand over your work to another person at some point, it will make it so much easier and quicker to understand the captured logic.
Not long ago I posted a picture of a same workflow done by two individuals. It is a simplified example of what I am talking about…
Ok, what should I use?
- Containers. They are surely the most frequent method of organizing workflow tools, dividing them into separate boxes. Best practice is to keep individual blocks of logic separately, possibly with different colours. Each container contains its own description and can be made transparent for lower important parts. It’s also very helpful when you need to disable part of the process from running.
- Annotations. In the tool configuration, switch to Annotation on the left ribbon and write your custom description of what is happening inside a tool. This is especially helpful for key transitions in the process, complex formulas, filters or joins (not limited!). The original annotation is frequently not value-adding as it generally displays the expression written inside a tool (in filter or formula) or the full name of an input/output file. See below example, this way it’s much easier to navigate in the workflow and edit individual steps.
Comments. When annotations are not sufficient, usage of comments (Comment tool can be found in the documentation category) is a great way of providing additional information on workflow content and easy to document step by step process. Use comments also for information not directly related to the workflow, like the background or specifics of the process or why was the process done this way. I sometimes also use them instead of containers as you can write more details inside them and you can bring the tools to the front. Using your selected picture as a background is a nice to have.
Tools alignment. Individuals tools within a workflow can be aligned either horizontally (Ctrl Shift -) or vertically (Ctrl Shift +). It is the main factor of what makes the workflow easy to review. Organizing the tools gives the impression of simple step by step process, value adding for handover to business users or clients. The best practice is also to limit the number of backward connections as much as possible and use straight lines connecting tools whenever possible. When aligning the tools, you can either keep the tools on the same line or you can keep the connections straight as you can see in the example below.
- Space between tools. Discussions are made on how far the tools should be placed from each other. As a rule of thumb, allow no less than one or two tools widths between two consecutive steps. What I mean is that you should not be able to squeeze more than 1-2 tools between each other. Distance also depends on whether an annotation is used or not. If so, you may want to allow more space to let the user read it easily and navigate faster. On the contrary, if you place tools too far away from each other, you may be losing the overall picture and need to scroll excessively.
Wireless connections. Related to the previous, whenever the tools are placed far from each other, they are logically not related directly, or they are of lower importance, connect them without the visible wire. Long lines across the workflow bring confusion and are unnecessarily giving a sense of overcomplexity. The wireless connection can only be either on the input or the output of the tool, not necessarily both.
Inputs concentration. With heavy workflows with lots (>10) of inputs in place, it may help you place all the inputs (or outputs) nearby (in a container) rather than having them spread around the entire canvas. A user can easily identify what datasets are coming into the process immediately after opening the workflow. It also allows faster management of the datasets and settings updates. Using it together with wireless connections is advised.
Layout direction. While the layout of a workflow is set up horizontally by default, you can switch it to vertical if you find it more meaningful for your work. While I personally have not used it, it can be beneficial when you want to see all the inputs at the very top of the canvas or you need to have logical containers visible next to each other. Switch the layout direction in workflow configuration/canvas options.
Meta info. The last point already goes beyond the workflow but is very much related to the documentation. Meta info in workflow configuration is especially useful when publishing to Gallery or building a macro. Write here the description of your work, what is the purpose of the workflow or even who is the author (with name and company).
Would you add some more? Which ones do you use most frequently? Let me know.