Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

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

Programmatic Detour

I've seen this question before and have run into it myself.  I'd like to see a new tool that would allow a developer (of a workflow) to choose a path of logic based upon criteria known only during the execution of a module.

 

If LEFT INPUT Count of records < 10,000 THEN Path1 (e.g. use a calgary join)

ELSE Path 2 (e.g. use a standard join)

endif

 

Thanks,

 

Mark

39 Comments
hflinn
6 - Meteoroid

I wish I could add more than one start to this post. :) It's a concept I struggle with as well... Alteryx has some great functionality to redirect/enable/disable a workflow section based on user input in an app, but relying on too many user inputs makes apps tedious for the users and introduces unnecessary user errors. I need to be able to interact with some of these tools to make my workflow respond dynamically without the interface component. 

 

Use case: At a certain point in my workflow I want to run a query that will tell me whether or not a table exists, and I want to use that as a condition to enable & disable specific containers. I don't want the workflow to error if the table doesn't exist, I need it to run regardless. 

 

Similarly, I've run in to use cases where I want to update a detour or container or run a macro only if a certain condition in the data is met, i.e. Row Count <, >, =, min/max, or a condition outside of the records being passed through the data stream. 

Treyson
13 - Pulsar
13 - Pulsar

Sweet Christmas I need this tool in my life! 

Hollingsworth
12 - Quasar
12 - Quasar

Yo Community monitors, can we get this bumped out of New and into Under Review? It's a year and a half old!

JessicaS
Alteryx Alumni (Retired)

@MarqueeCrew and @Treyson and @Hollingsworth I'll check internally and circle back here.  Thanks  @Treyson for using my favorite expression.

 

 

BenG
Alteryx Alumni (Retired)
Status changed to: Under Review
 
BenG
Alteryx Alumni (Retired)

Thanks for the idea post.  Do you have any other use cases for this specific feature that would help with how it might be implemented?  Is this something you can generally do with a macro and Detour tools?  Or are there things you would like to have implemented that can't even be done in a macro?

 

Thanks,

Ben

fharper
12 - Quasar

I know I wrote some posts and an enhancement request idea some time back on basically the same thing but can't find it when scanning the community.

 

In a nutshell I am enthusiastically in favor of a modification to the programmatic detour or a new tool that allows us to control if a path is even executed based on filtering logic that resolves at run time.  Right now if all paths and even more so all macros are executed.  depending on the data and logic sometimes a path is empty, no data flows into the stream.  in this scenario some tools will fail generating an"ERROR".  It isn't really an error from my perspective of processing the data but the tool itself could not execute due to lack of input and that generates a failed condition that propagates to the highest level and flags the job with an error.  If you are like me and have warnings generated on failure of a flow then you get false errors.  I have a scheduler system that auto restarts jobs that fail under certain conditions and also considers job success in evaluating job dependencies to determine if subsequent flows can run.  all of this is broken in these scenarios so i have to design the logic with dummy data which is removed at the end or go through convoluted logic to avoid fail potential or externally address the fail results.

 

So in a nutshell it would be a BIG help to be able to choose to not execute tools down a path if the path is empty, at a minimum, or if the path is deselected by logic(filters).

 

Current workarounds include packaging some code segments into separate flows or macros and using the CREW macro "Conditional Runner" to conditionally execute them.  this only works for certain scenarios really as these segments become disconnected flows that do not join output streams for further processing without manually writing outputs and then having yet another flow to read them back in and process....once you have confirmed all predecessor flows/macros completed... 

 

saqib
8 - Asteroid

@DanH, any updates on having native support for Programmatic Detour in Alteryx?

MissEmma
6 - Meteoroid

I also would like to see if there are any updates. Alternatively, if I could assign a global variable in my workflow that could then be used in the Action tool to change the detour direction, that would help me significantly. I can't find a way to accomplish this, and the result is that I have to use a filter and my workflow reaches out to an external Oracle Database even when I don't need it to.

 

I've attempted to use the suggested workarounds for the Dynamic Detour, but I'm having no success getting it to work on my end.

PeterPetersen
8 - Asteroid
I am also looking for something similar. I get an the following error in my dynamic input because I get no records from an upstream SQL fetch and I would like to NOT do the dynamic input if there are no records: "Dynamic Input (37) Error SQLExtendedFetch: [Microsoft][SQL Server Native Client 11.0][SQL Server]Conversion failed when converting date and/or time from character string."