Alteryx Automation Series: A Table of Automation
Welcome to part two of the automation series, here I will share why it is useful to share details of the automation tasks you are running.
Firstly this is for those organisations looking to set up Alteryx Server and make the most of the automation, before you get carried away a number of small tips are useful to get set up to ensure success.
You need to design a repeatable process, a macro if you will that you can add to the end of every workflow that you run. What is this macro for you ask. Well its going to do a number of things.
- Record the number of rows
- Record the name of the process
- Record who ran the process
- Record the date and the time the process ran
- Record the connection detail
- Record personal details used within the process
Within an engineering team its best to build a macro to deliver this process so that it is as simple as dropping the macro onto the canvas at the end of each developed workflow before uploading it to Alteryx Server.
So in order to achieve this you need to utilise a number of tools within Alteryx, mainly the interface tools and saving it as a Standard Macro (.yxmc)
Useful tips for the areas mentioned above:
- Number of Rows – use a Count Rows tool – this immediately takes the data fed into the workflow and changes it to a single result of total number of rows.
- Name of process – use a formula tool with the engine constant of [Engine.WorkflowFileName]
- Who ran the process – within the same formula tool add a further column with the following GetEnvironmentVariable(“USERNAME”) this uses the common system commands to grab the current user logged in.
- Record Date & Time – formula tool again, this time DATETIMENOW() is your friend with the correct datatype selected, i.e. Date for Date and Time for Time 😉
- Connection details, using an interface tool, design all the possible connections into a drop down to be selected by the end user to ensure that the correct terminology is used.
- Selecting personal information is the final one, here I used a combination of tricks, selecting from a list of given options which then creates a list and replaces the information in the text input through an ACTION tool. (Hint below)
In your main workflow you need to add a block until done before the final output tool. Off the first output of the block until done, add your output tool, then from the second connection, add your new macro. Why? You ask. Well this is because it will then only write to your database table once your workflow output has been successful. This will then give visibility to the end users who need to know if their data has run affectively this morning before they carry on with their every day tasks.
There are other useful tips to your disposal here. You have the Events tab within Alteryx workflows, should your workflow fail at any point you can then configure this to email you so that you will always be aware that this particular workflow needs your attention. Also Alteryx Server has a fabulous Tableau workbook that you can download and use as a way to dig deeper on the visual side of what has run, what hasn’t run etc. This is all fed from the underlying data in MongoDB on Alteryx Server but it does need refreshing frequently to see the results, so you need to schedule it.
Overall why is this tip important? To enable visibility to your end users of all kinds, via SQL, via Tableau or via an export to email.
Ensuring all of your scheduled jobs are running this process enables your business users to know and see and trust that the data is up to date and ready for the day ahead. This builds trust within the organisation, it also allows you to record what applications are using personal information and how often they are run and how much data was extracted at any point by whom. You have a great log within the database on Alteryx Server too, this is just a way you can control and record the details you would like your end users to have access too, and to satisfy your legal departments.
The next post in my series will be on Validation of your data and why its important to setup a regular scheduled job to have this detail in your back pocket. 🙂