by Kelley Sinnock (@KelleyS) and Joe Kressler (@jfkressler)
Alteryx Customer Success Managers (CSMs) partner closely with some of our most strategic customers to maximize the value of their investment. We engage in discussions with customers around topics like governance, security, and data quality, as well as the ways to support the Alteryx user base directly through enablement. A request we get time and time again is support for Alteryx reviewers. These are individuals in the business who may not develop Alteryx solutions themselves but need to understand & interpret the results of their team’s Alteryx efforts. They are also responsible for communicating the results upwards to management. In hopes of supporting these important members of the Alteryx community, we present...
Before your team member kicks off a new workflow build, hold upfront discussions to ensure they understand the desired result of their work and how Alteryx will be used to achieve it.
Discuss the inputs used in the process, what you expect around documentation best practices, and walk through your preferred review process. If you plan to provide feedback directly in the workflow, make sure the developer gives you space to do so and knows to look for it after your review. You might consider generating a list of expectations for developers:
Once a complete version of the build exists, have the developer walk you through their workflow (at least at a high level) before you spend time reviewing it on your own. Make sure you understand the specific Alteryx file type you are working with and whether or not the data being ingested/output is included in the workflow file. Also, consider documentation – expect layman’s terms and narratives positioned at critical locations in the workflow so anyone not familiar with the workflow can follow its purpose and functionality.
Arming yourself with a working knowledge of Alteryx Designer is crucial to your ability to effectively review a workflow – start with the ‘Getting Started’ learning path in Alteryx Community and keep these few tips in mind:
Use Alteryx Designer’s native Search function to view examples & tool documentation and access Alteryx Community user forums. From the search results, you can even link directly to free interactive online trainings right from Designer.
Right-click on any tool in the toolbar to access the Tool’s Help Documentation and open an example workflow.
Toggle between a tool’s Input/Output Anchors shown in the Results window to see how data is transformed by a specific tool.
Leverage a Browse tool anywhere in a workflow to break out and profile data at that point in time.
Proper quality control is critical around certain tools that adjust, aggregate or change your data.
Tools that present data loss risk
|
Purpose: combines two inputs based on common unique identifier(s). Similar to a V-Lookup in Excel.
Consider: because a Join contains three outputs (L, J, R), it is important to interpret the data in each of these outputs. If the data from any of these outputs is not intentionally incorporated into a subsequent tool, the data will be dropped from further analysis. Consider whether this is appropriate given the workflow’s objective.
|
|
Purpose: splits data into two streams based on specified condition(s).
Consider: typically, the workflow continues from either the T or F output – consider what should be done with the other stream. |
|
Purpose: creates a new field, or updates an existing field, based on an expression or by assigning a data relationship.
Consider: the tool may affect certain existing values in unintended ways - add a Browse tool after a Formula to check for nulls and unexpected values.
|
|
Purpose: similar to a pivot table - group, sum, count, or concatenate your data (plus much more).
Consider: inspect the tool’s configuration for proper data aggregation and functions – typically the starting point & ending points vary a great deal with this tool, significantly decreasing the number of records in your data.
Just a heads up – if there are no records in the incoming data, the summarize tool will not create an output that says there are zero records. The Count Records tool should be used in this instance instead. |
|
Purpose: consolidates a workflow or group of tools built into a single tool that can be inserted into another workflow for ease of repeatability, sharing & organizational purposes
Consider: a macro can contain any of these higher risk tools, with an additional layer of interface between you and the details. Right click on a Macro and select ‘Open Macro’ to see the workflow that drives the macro’s functionality.
|
Encourage your team to use these tools to help mitigate data loss risk
|
Purpose: creates a text box for any workflow documentation to supplement tool annotations.
Consider: use to create a workflow header that describes the workflow’s objectives, further describe the purpose of a tool or section of a process, or highlight locations in the build that require user input. You can even embed an image or company logo in a comment box!
|
|
Purpose: prompts a custom message to appear in the Results window if a given condition is met.
Consider: use to warn a user if input data is not in a correct format, is missing a certain field, contains null values, etc.
|
|
Purpose: provides advanced data profiling – frequency counts and data health indicators, maps, and reporting snippets, can all be further explored via the Browse tool
Consider: use a Browse tool to investigate high-level data insights at any point in your workflow. Trends identified via a Browse can help you decide how to proceed as well as identify any unexpected values so you can handle them accordingly.
|
|
Purpose: returns a count of the number of records passing through the tool.
Consider: use to confirm that records haven’t been lost, or to identify records where they aren’t expected. |
|
Purpose: permits custom configuration to ensure input data meets specified criteria and triggers descriptive error message(s) if your test criteria are not met.
Consider: use to verify there are zero records coming out of an L or R output of a Join tool, to ensure the appropriate number of files were input during a batch input process, or to determine whether two values are equivalent.
|
While defining your particular style & expectations around workflow design will take some time, there are certain guiding principles you can start with:
Containers are used around sub-processes with descriptive headers and intentional color coordination (consider absolute consistency vs. different colors for different phases of workflows (e.g., data input, processing, output).
Containers can be toggled on/off, which is ideal for testing portions of workflows and/or disabling tools that aren’t fully configured yet. You can also collapse a container (tools inside will still run) to save space on the canvas.
The flow of data is clear. Customize your connection strings’ settings. Use wired connections when appropriate, and consider wireless connections when bridging great distances in the workflow (comment boxes can help clarify when data sources aren’t obvious).
Ensure tools are vertically/horizontally aligned and distributed, organized tools and containers with wired connections used as a general standard.
Tool annotations are used to show the purpose and function of critical tools. Annotations should highlight configuration choices that benefit from a description or are not intuitive; annotations should be removed or updated when they are confusing, unclear, or purposeless.
Use comment boxes to summarize workflow/container processes and call out end-user instructions/review comments. Consider formatting comment boxes intentionally for different audiences or purposes (e.g., grey for narrative descriptions, blue for end-user instructions, red where updates are required, etc.).
We can guarantee that one or both of these things will happen eventually – your workflow will break and need fixing, and the person who built it will be unavailable to help! Start planning for the inevitable today:
For support in continuing this conversation at your company, consider the following resources:
If all else fails, develop your own ‘standard’ and share it with us here!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.