Engine Works Blog

Under the hood of Alteryx: tips, tricks and how-tos.
Andy Uttley, Alteryx ACE, makes music with Alteryx | Math + Music
Alteryx
Alteryx

InspireAPAC2020.jpgThe Alteryx Inspire conferences are always one of my favourite times of year and this year's Inspire APAC did not dissapoint! Held at the conference centre in Darling Harbour, Sydney, the location was great, the sun was shining and 800 Alteryx fans had come together to talk about Alteryx. At the start of every Inspire conference I am reminded of the quote by Irish poet William Butler Yeats:

 

"There are no strangers here; Only friends you haven't yet met."

 

And as always I left the conference having made some more friends and connections in this amazing Alteryx community.

 

Now any one who knows me will know that my favourite place within the Inspire conference is the solution centre. If I'm not scheduled to be working somewhere else or in the keynotes then the solution centre is where you will find me. For anyone who hasn't yet had the chance to attend an Inspire conference, the solution centre is part of the conference staffed by Alteryx experts from the company, where attendees can bring any questions or problems they have with the product and get help. As a staffer in the solution centre it is always an exciting place to work as you never know what problem is going to walk through the door next.

 

I wanted to share a problem and solution that came up from this year's conference. But before I do I'll start with a disclaimer that the solution pushes the limits of what Alteryx was designed to do, so I share it more as a novelty than a recommended best practise!

 

The Problem

 

OK disclaimer out the way let's describe the question that was asked:

 

"Is there a way in an Alteryx App to show the user a table of data and allow them to select an option for each row of that table?"

 

This is a request that I have heard before and it is a reasonable one. In this case the Alteryx user wanted his app users to be able to categorise an aribitary number of items of data choosing from a tree view for each item. And the short answer is today Alteryx doesn't have a good way to let you do this: the app questions are largely static and of fixed number.

 

The Solution

 

Where we do have some flexibility around dynamic app questions is with chained apps, but that is still somewhat limited in nature, but it was this feature that we used to construct our solution. Which looks like this:

 

FrontPage.png

 

and then for each item of data in the selected field for you get an app page which looks like this:

 

Loop1.pngLoop2.png

 

and finally you get a yxdb with all of your data and categories.

 

Results.png

 

For our more advanced users I suggest you stop here and think about how you might acheive this (Or if you have a better solution to the problem), for everyone else let's dive straight into how this works.

 

The Implementation

 

As we've already said the solution uses chained apps. But what makes it interesting (and something I haven't done before) is we are writing the next chained app we are about to run in the previous app. We continue to do this for each row of data in our input file and collect up the answers to the users questions as we go. Once we have processed all rows of data we write our a final app which presents the resulst of the categorization to the user.

 

Workflow.png

Problems

 

As I have already mentioned (but I'll say it again) this is really abusing the chained app functionality and I woudln't reccomend you go trying this technique in your work enviroments. For one it doesn't work on server (I presume that server doesn't except the next chainded app to be written as it goes, so the looping doesn't work) and the workflows do end up fairly complex.

 

But I thought it was worth sharing as it is a technique I hadn't seen before and it might spark some inspiration from other members of the community.

 

 

Adam Riley
Principal Software Engineer, Tech Lead Core Engines

Adam Riley is a Principal Software Engineer and the Tech Lead of the Core Engines Team at Alteryx. He started on his Alteryx journey as an Alteryx user before joining the company in 2011. He writes a personal blog about Alteryx at www.ChaosReignsWithin.com and is the former curator of the Crew Macro Pack.

Adam Riley is a Principal Software Engineer and the Tech Lead of the Core Engines Team at Alteryx. He started on his Alteryx journey as an Alteryx user before joining the company in 2011. He writes a personal blog about Alteryx at www.ChaosReignsWithin.com and is the former curator of the Crew Macro Pack.