Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Engine Works

Under the hood of Alteryx: tips, tricks and how-tos.
hli2007
Alteryx
Alteryx

by Henan Li (@hli2007), Philipp Maier (@pmaier1971), Minh Nguyen (@MinhLO)

 

In the realm of data analytics and workflow automation, citizen developers still need to adhere to compliance standards and best practices. Ensuring an organization’s Alteryx workflows align with compliance standards and best practices can be a daunting task, especially as workflows become increasingly complex. Wouldn’t it be great if there was a simple way for users themselves to check if their workflows adhere to best practices and meet Enterprise standards?

 

Inspired by a client conversation, this post proposed a way to implement automated check for workflows. The methodology is simple, extendable and usage scalable, and the resulting application can be run on a server and made accessible to all users. This provides a simple and efficient way to maintain compliance and mitigate potential risks of Alteryx workflows by implementing automated checks for Alteryx workflows.

 

What are Automated Checks for Workflows?

 

Best-practice guides or Alteryx standards are a series of guidelines, best practices and conventions that Alteryx workflow builders should follow. While likely exhibiting some commonality, they can vary by industry, or even with clients (e.g. HR may have different workflow standards than marketing).

 

Automated Checks allow users to validate their Alteryx workflows to ensure compliance and adherence to best practices. By designing a series of tests and checks, this application provides users with an ability to validate their workflow during the building and deployment phase. Because tests can be flexible and feedback can be customized, these tests also help Centers of Excellence to provide helpful context and guide users to take corrective actions if tests fail.

 

Why use Automated Checks?

 

The benefits of automated checks are manifold:

 

  • Risk Mitigation: Proactively identifying and addressing non-compliance issues within workflows mitigates the risk of errors, data breaches, and regulatory violations. Automated checks serve as an early warning system, alerting users to potential issues, and enabling timely corrective action.

 

  • Cost Reduction: Automation streamlines the validation process, saving time and effort that would otherwise be spent on manual inspection. By integrating automated checks into the workflow development lifecycle, organizations optimize resource utilization and accelerate time-to-insight.

 

  • Compliance Assurance: Automated checks provide a robust mechanism for verifying that Alteryx workflows comply with relevant regulations and internal policies. From ensuring the presence of essential metadata to validating data handling practices, these checks help mitigate compliance risks and maintain data integrity.

 

  • Best Practice Enforcement: By enforcing best practices within Alteryx workflows, automated checks promote consistency, maintainability, and efficiency. Users are guided to avoid deprecated tools, adhere to naming conventions, and adopt standardized practices, thereby enhancing workflow quality and reliability.

 

What are the Key Steps to Consider for Implementing Automated Checks?

 

Implementing automated checks for Alteryx workflows involves the following steps:

 

  1. Define Tests: Establish a set of audit tests based on compliance standards, best practices, and organizational requirements. These tests may include verifying the presence of workflow metadata, identifying deprecated tools, usage of specific data sources, or validating standardized practices.
  2. Develop a Validation Workflow: Develop a validation workflow tailored to execute audit tests and evaluate workflow compliance. This should assess workflows against predefined criteria and provide guidance on corrective actions for failed tests.
  3. Integrate with Workflow Development: Integrate automated validation checks into the workflow development process to ensure continuous compliance monitoring. Incorporating checks into development pipelines enables proactive validation of workflows before production deployment.
  4. Monitor and Improve: Continuously monitor the effectiveness of automated checks and refine audit tests as needed. Solicit feedback from users to identify areas for improvement and enhance compliance enforcement over time.

 

How can You Get Started?

 

We have attached a sample workflow for you to get started. In this workflow, we have predefined 4 audit tests (see below) can be customized – plus, the workflow is extendable, so it’s easy to define and add your own tests based your organizational requirements.

       

Blogpicture1.png

 

Below are the steps to set up the workflow.

 

  1. Download and install the Workflow XML Parser Macro (https://marketplace.alteryx.com/en-US/apps/444941)
  2. Identify the location of DefaultSetting.xml file to configure the list of deprecated tools (refer to this link for more information)

 

updated.png

 

 

  1. Run the workflow as an analytics app and select a workflow to perform automated checks. blogpicture3.png

     

  2. Run the workflow to get a workflow assessment

 

The report below shows a list of failed tests. Feedback on the list can be customized in the workflow.

 

blogpicture4.png

 

How Can Add I My Own Tests?

 

At the core of the workflow is the “Convert to XML” container. This is where workflows are dynamically read in and parsed. The resulting output breaks down the tool configuration, connections and annotations. Most of the columns are self-explanatory and can easily be parsed.

 

This is the basis for designing tests. As an example, let’s look at the test if the workflow contains a “Select *” statement in SQL (which is likely a sign that the workflow is not selective in retrieving data). This is the 4th test in the sample workflow; found in workflow container “#4”. The test parses the data and filters the “DesignerToolName” column on all data ingestion (and output) tools, as well as the “ToolValue” column – which contains the configuration details – on “select *”. Rows that match the filter are retained, and a new “Test” column is added to the output to classify the failed test. Then, the rest of the workflow is some basic report building and preparing a report.

 

How does this integrate into the end-to-end process?

 

Automated Checks can easily be integrated into the end-to-end Alteryx Governance lifecycle. The key to success is to provide users with easy options to perform automated checks and remediate findings before pushing the workflow to a production environment. We can think of several models:

 

  • One option is for business team or center of excellence to design the tests centrally and making them available as application to all. This way Alteryx users to test their own workflow during the final stages for the development process or before they flag them as ready for a production environment. Additional tests can be added based on observed user behavior; for instance, if new best practices emerge, they can be added to the test suite.
  • An alternative option is to run the test on the server automatically when a new workflow is uploaded to the server. This would require turning the application into an Alteryx workflow to monitoring the server, download the workflow and then run the tests.

 

By systematically evaluating workflows against predefined criteria and guiding users to take corrective actions, automated checks enable organizations to mitigate risks, enhance operational efficiency, and maintain compliance with confidence. Embracing automation empowers data professionals to unlock the full potential of Alteryx while upholding the highest standards of data integrity and governance.

 

Have ideas for additional tests? Please post them in the comments below!

Comments