Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!
The Product Idea boards have gotten an update to better integrate them within our Product team's idea cycle! However this update does have a few unique behaviors, if you have any questions about them check out our FAQ.

Alteryx Designer Desktop Ideas

Share your Designer Desktop product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines

Control Order of Execution of Workflow Objects (Container)

Hi 

Wanted to control the order of execution of objects in Alteryx WF but right now we have ONLY block until done which is not right choice for so many cases 

Can we have a container (say Sequence Container) and put piece of logic in each container and have control by connecting each container?
Hope this way we can control the execution order
It may be something looks like below 


63 Comments
fharper
12 - Quasar

semi related to this is the following on reordering the tools to affect order of execution

https://community.alteryx.com/t5/Alteryx-Product-Ideas/Tool-Reordering/idi-p/1454

https://community.alteryx.com/t5/Alteryx-Product-Ideas/List-Reorder-Tool-Processing-Priority/idi-p/1...

In both NED (CTO) made a good point about the optimizer and its function.  Given the broad interest in being able to control this it might be a good idea to allow an override of the optimizer for input order.  I know the Optimizer is probably the complex beast that determines all of the tool order execution paths but there is merit to allow the designer to specify the order and let us benefit or suffer by our own hand.  

 

So rather than seeking a hybrid of manual and optimizer control I suggest an binary switch on the question of order, this should be a simpler and doable approach.  the major coding aspect I hope would be the provisioning of a means to have the developer assign order of paths and the lesser being an setting to change the optimizer behavior in determining path order.  

  • Important in this concept is that we developers would be able to choose order of execution of a path not at a tool level.  We could be able to choose the order of inputs to read then the subsequent tools on that path will execute up to the point of join/union.
  • This would be a good first step, or even only step if more flexibility is so complex as to be not worth investment
JustinLine
7 - Meteor

I agree that this should be added so we don't have to use the CReW runner macros. This should be a default feature - not something we have to use workarounds and unofficial macros for.

 

Thanks!

tonyppham503
8 - Asteroid

I agree that controlling workflow should be a standard feature without having to use unofficial macros. Someone at Inspire 2018 said their IT department wouldn't allow unofficial macros to be installed and the Alteryx speaker didn't have a good solution for him to go around that roadblock. 

fharper
12 - Quasar

I have had my share of issues with It and Security control fights.  to a degree I understand the desire and need for a level of control but you can write your own macros..that should NOT be considered "unofficial" and as such you can copy what others have done in most cases or devise your own.  Any intelligent IT department would review unofficial macros and sources like "CREW" to accept as authorized or reject based on risk and reward.  While not Alteryx provided CREW is well regarded and industry accepted and would be no different than using a different vendor for many other code/IT products.  

 

Sometimes it is how you ask and how you challenge responses, explain it well and you may win right off, or at least you are positioned to challenge the standard response from someone who has not engaged their brain on the matter.  Then they have to justify their policy and position in the face of a good argument...that is more adversarial but i have won many battles that way as well.

 

but the easiest is probably to open up the macro available and recreate it on your own so they can complain, if they don't like you writing a macro then they by extension don't want you to write any code!

 

Dim bulb IT/IT Security bureaucracies are at times the bane of good business and with growing security threats it is a greater challenge to work with them...

DavidP
17 - Castor
17 - Castor

It's not elegant, but I sometimes use the Join tool as a type of block until done.

 

Looking at the example at the top, insert a join tool after each of the text input tools in the 2nd and 3rd containers, connecting the output from each text input tool to the left input of the join and the left output of the join tool to the browse tool. Then connect the output from the previous container to the right input of the join tool and pick a join criteria that will never produce a match.

 

This is handy when you have more than one stream of data in your workflow, but you want to make sure that the flow is halted at some point until another part of the workflow has completed.

 

The Join tool will not produce an output until the streams feeding both inputs have executed fully so that the join condition can be evaluated.

Atabarezz
13 - Pulsar
  • Running two separate workflows,
  • outputting results to a file and then
  • merging the results in combining model is much faster for parallel tasks

than solving it all in one workflow... Because the tools are waiting for their order to come...

In the age of parallelization, multi-cores and GPU's it's a shame for alteryx to not being able to handle this...

 

Current situation creates a complexity so you have multiple workflows to be run...

aweiss2k
7 - Meteor

Hello,

 

Can you please add functionality to allow users to set the priority of tool execution.  A very simple and common example is we build out a long workflow but then add a Browse tool early in the workflow.  Because the Browse was added after all the other tools it waits until the whole workflow is done to execute, which is not ideal.  In this case you could at least add some code so that every Browse executes immediately after the tool it is connected to.  However, it would be better it each tool had a check box for "priority execution" which means it would execute as soon as all the input data was available.

 

Thanks,

Aaron

blah
5 - Atom

Hey,

 

Here's two cents from the old school. It seem like every problem I search this site for a solution to winds up recommending "CREW" macros.  Welp, I'm not gonna build solutions for the largest companies on the planet using code by someone who calls his operation "Chaos Reigns Within."  What is this, a video game?  No, we're going to stick to things developed by grownups.

 

Which means we solve the problems ourselves. But that's what we get paid to do.

 

ScottShimer
7 - Meteor

I am very new to Altleryx, but have used other workflow tools (K2) and cannot image one that does not allow control of the workflow sequence.  In my case, I simply want to run a command file when there are files present in a directory.  It moves the files to an archive folder.  Once the folder is cleared, I want to workflow to proceed, which creates three new files (latest versions).

 

Since I cannot control the sequence of the workflow, the move is happening at the end of the workflow (I added it last) instead of at the beginning.  I cannot figure out how to get the files move to archive first.

 

FYI, I tried using an "Event", but if there are no files to move an error is generated.  So, instead I added workflow to test if there are files to be moved, but it runs immediately after the new files are created, so there are never any files.

 

K2 allows you to sequence the tasks and decide if they must be sequential or can be run in parallel.  Altrex seems very powerful, but it just falls short on what seems like simple things.  Another is the ability to set a variable for use in the workflow (not a constant), but this is a topic for another thread.