Free Trial

Alteryx Server Discussions

Find answers, ask questions, and share expertise about Alteryx Server.

Chained workflow and dynamic screens

MikeBird
8 - Asteroid

So this was my challenge: 

 

I'm creating a server app and I want the user to be able to upload some spreadsheets and enter some basic information. 

The next step would be to present the user with some summary information about the data, number of lines, groups of transactions, sums and some basic analytics etc... 

The next part is where the user is asked for some more information (because they might want to cancel the workflow at step 2 if there is errors they don't need) 

Step 4 is where the user has a final say in what they want to see as an output, which then uses complicated filtering on the original dataset and answers asked to produce an output. 

Because some inputs rely on others being read and represented to the user to select from, this needed to be a multi step, chained workflow. 

 

Step 2. Changing the text in the labels to show the summary was quite straight forward, I won't go into detail as a rather useful article from @mceleavey helped me achieve this. See that one here: https://community.alteryx.com/t5/Engine-Works/Dynamic-Hard-Coding-Chained-App-Sorcery/ba-p/764585 

 

My next challenge was the data uploaded in Step 1 get reread in step 4. Simple, so I thought. 

Try as I might, I kept getting empty data. 

I shortened my workflow into 3 steps and the same thing happened. 

Then 2 and it worked!! Of course it works, it's only one step ahead. 

Then it dawned on me, is the data 'saved' in step 1 only stored virtually and long enough for it to be read into step 2 and then destroyed?

So I tried it. Step 2, I loaded the data and saved it out and.... got an error!! 

I think there must have been some sort of file lock on it, so I changed the filename and put a '2' on the end of it. 

Then...SUCCESS!! 

Now, excited by my results, I did the same in step 3.... 

Total success!!! 

 

This is what I learnt from this.

If I want to use data in chained workflows which is further than just the next one, I need to actually load it in and pass it along, this includes outputs which are intended to be presented to the user.  

Don't call the output data from subsequent tools the same as a previous one, there's a file lock and errors occur. 

And, a bonus apart from the above, if I have an external file I'm using way down the line, it's not always picked up from the first workflow under the dependencies when saving it to the server. An input tool in a disabled container allows it to be picked up but doesn't cause an error..

 

I hope this helps someone out there trying to achieve something similar. 

 

 

0 REPLIES 0