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!

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

Block Until Done for Entire Containers

kheuer
8 - Asteroid

Hi - 

 

 

I am looking for a version of the Block Until Done tool that I can use to block one container from starting to run until another has finished. My intention is to save a copy of the current version of a file in a separate location before I kick-off my actual process. How do I best accomplish this?

 

Also, just out of curiosity, how does Alteryx select which container to start running first? I recently built a process with seven different input tools and noticed that Alteryx starts processing in an unexplainable sequence. I was curious how this is configured.

 

Thanks much,

Kristina

10 REPLIES 10
MarqueeCrew
20 - Arcturus
20 - Arcturus

@kheuer

 

Step One finish then CReW Macro (Conditional Runner) to start the next workflow.  From your description however, there is an alternative.  If you are trying to prevent Step Two from OUTPUT to a file, you can use a SUMMARIZE tool to count the # of records in Step One.  Then immediately prior to the OUTPUT in Step Two you can place an APPEND FIELDS tool where the COUNT goes into the bottom anchor.  In the configuration, you can uncheck the COUNT field.  The OUTPUT tool will NOT run until Step One is finished.

 

Alteryx tends to start with the first tools on the canvas, but it does arrange the tools in a linear sequence.  Depending upon the tool sequence and use of blocking tools, it runs as far down a single path as it can before it has to wait.  This repeats until it can finish the job.  This is of course my interpretation.  If @Ned were to read this he may accept my version as "true enough".  I like to think that it is magic.

 

Cheers,

Mark

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
DataPrepChad
10 - Fireball

Personally, I prefer @MarqueeCrew's method of using separate workflows managed by the Crew Runner macros.  It simplifies the process, makes it easier to troubleshoot, and gives you more control over error handling, where if a specific portion of the process fails you can set a notification just after the F side of the macro. 

 

That said, I once had a friend who hated the idea of managing multiple workflows for one process.  I ended up experimenting a bit and created a batch macro with embedded tool containers.  If you pass in a numbered list of how many containers are within the macro, the process will iterate through each container, one by one.  

 

I thought it was a fun and interesting project, and wanted to share here. 

 

jleperalta
6 - Meteoroid

Hello! i'm trying to replicate this batch macro. but for some reason i cant make it to work.

i put an action with an update value formula. i put in the expression and i named the connection #s correctly.

 

what am i missing? 

jleperalta
6 - Meteoroid

nevermind! i figured it out!

kschmittjr
5 - Atom

I have tried to use the macro provided as it seems pretty straight forward, but I cannot figure out it is looping through all the containers multiple times.  Is there something that I missed in your example?  If you need further information please let me know.

Tamanna_Patil
6 - Meteoroid

Hi @jleperalta 

I replicated the same batch macro but mine is not working as expected. Can you share how did you make it work and if possible share the workflow please.

Tamanna_Patil
6 - Meteoroid

Hi @DataPrepChad 

 

I am getting multiple executions of the Containers. I am not sure what am doing wrong. Also, what's the significance of #s in the O/P connection of the action node?

 

Kindly help.

 

Tamanna_Patil_0-1611094718994.png

 

Hi @Tamanna_Patil 

 

[#1] is the connection name. So in your example, the action tool must have the "Disabled Value line" highlighted and your formula should say, if [#1] ='6' then "False" else "True" endif.

So basically if the incoming data is 6 then container must not be disabled (i.e Disable is false) otherwise disable it or change the Disable Value to True.

Tamanna_Patil
6 - Meteoroid

Hi @christine_assaad ,

 

Thanks a lot for explaining. It's working perfectly fine for me now🙂 

Labels