Alteryx Designer Discussions

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

How to chain workflows together, passing data between them?

nrossin
8 - Asteroid

Is it possible to chain workflows together, passing the results of one to another?

 

For example, I have a workflow that I want to reuse to process several different input files. The files are all Excel workbooks with different formats (different column headers and data types). 

 

What I want to do is create a different workflow for each of these incoming formats. Those workflows would "standardize" the format and datatypes and then pass the resulting data set to the main workflow that finishes the process. 

 

I have looked at the Chaining Workflows Together article here, but the Crew Tools do not appear to accept a dataset as an input for the new workflow.

 

Am I going about this the wrong way? Do I need to output the "standardizing" workflow dataset first and then use that as an input for the new workflow?  Is there a completely different approach I should take for this task?

 

(I am brand new to Alteryx and just looking for a little guidance).  Thank you!


If curious, our use case is this:

 

We received production reports from several different companies, all reporting similar data that we need to combine into one standard output format. Each of those companies has their own reporting structure. I basically like to drop each of these reports into a workflow and have Alteryx extract the data from it and build a report that matches our target formatting requirements. Once that is done, pass it off to another workflow that processes reports in that target format.


6 REPLIES 6
sean_bolte
8 - Asteroid

There are macros that allow you to read in Excel files with differing structures which could allow you to read in the disparate data, and then alias from there to accommodate what you are processing against in your main module. Here is one such post: https://community.alteryx.com/t5/Alteryx-Designer-Discussions/Import-Multiple-Excel-Files-with-Varyi... .

Since you seem to know how many different formats you have coming in, perhaps you could nest IIF statements to alias the needed fields for your main processing. It would just seem that different modules to accommodate your pre-processing would be more cumbersome in the long run. 

If you do choose to maintain separate "formatting" runs prior to main processing, you may want to incorporate an Event (click on the canvas, look at the config window) that will run your processing module once you have preprocessed your customer file. You will call the alteryx engine.exe, and indicate the directory path to the module to run upon completion w/o errors.event.JPG

 

 

It's assumed that once you have created your pre-processing output, that is being uniformly named so that you can address it with a directory tool and a dynamic input tool to read in the file.

 

 

 

 

Hopefully that will give you a few options to get started down a path.

BenMoss
17 - Castor
17 - Castor
If you want to use the crew macro pack, workflow B show be set up to work from the output of workflow A.

All the runner tools do is say run workflow a, then workflow B. Your input and output files still lie within the workflows themselves.

Personally, I think you should keep them in one larger workflow. Possible put workflow A as a macro if it is particular large or a component you want to use in other workflows too.

Ben
mbarone
15 - Aurora
15 - Aurora

I concur with Sean & Ben, but if you ever do have reason to chain two apps together, and make the output of the first app flow into an input of the second app, here's how: 

 

Only send the 1st app to the Gallery.  But also send as assets the 2nd app, and the output you wish to use as an input in the 2nd app.

nickgomez610
7 - Meteor

Hello @mbarone ,

 

I was wondering if you can expand on this idea?

 

Thanks,

Nick

mbarone
15 - Aurora
15 - Aurora

@nickgomez610,

Sure.

 

Say I have App01, which has Output01.
And say I have App02, with Input01, but Input01 IS actually Output01.

 

What you'd want to do is take App01 and chain App02 to it.  And send App01 up to the Gallery, but when you do, go into the Manage Assets section, and include Output01 as an asset that you're sending, as well as App02.


What will happen is when you run App01 in the Gallery, it will complete by (a) created Output01 in its own little temp space, and then (b) fire off App02 which will use that Output01 in the temp space as  Input01.

 

 

nickgomez610
7 - Meteor

Thanks!

Labels