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 Discussions

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

Iterative Macro multiple outputs help

Lance_In_My_Pants
6 - Meteoroid

The intent of this work flow is to randomly select a Test_DMA along with the 2 highest ranked Control_DMA. Then to create a list of of the Test_DMA and 2 Control_DMA's and remove them from the original data set and then repeat the process. I am currently stuck on how to aggregate the list dma's used to remove from the original data set, my guess is I need to create another macro input/output but I was unable to get it to work.

6 REPLIES 6
BenMoss
ACE Emeritus
ACE Emeritus

Hi!

 

It's extremely difficult to debug your workflow when your data is not embedded and therefor we have no records to understand the 'inner workings'. 

 

In order to export a packaged version of the workflow go to 'options' > 'Export Workflow'.

 

Once you have done this then we can take a more detailed look.

 

Ben

Lance_In_My_Pants
6 - Meteoroid

My apologies, I thought that if I used text input instead of files it would come through. I took the time to make dummy data for this exact reason.

BenMoss
ACE Emeritus
ACE Emeritus

Thanks. Lets trim this down to the first 3 rTest_DMA's for instance, what would the results look like?

Lance_In_My_Pants
6 - Meteoroid

The first pass inside the macro would look like this, then I want to create a list of Tampa, Orlando, Jacksonville and remove those DMA's from the Test_DMA population and run the process again.

 
Alteryx_Help_test.PNG

 

The final output would be a list like below,where each test_dma has 2 control dma's and where no control dma appear in the Test_dma column

 

 new_help.PNG

CharlieS
17 - Castor
17 - Castor

I haven't looked at your attached module, but here's what I do in assignment scenarios like this.

 

If you have a list of DMAs feeding into the iterative macro, use a formula tool to create a variable before the macro that will be updated in your macro. This variable (let's call it "FLAG") will start out with null/0 values. As the iterative macro runs, the value of "FLAG" will be updated each iteration. Each new iteration starts by filtering record where "FLAG"=null/0 to make new assignments (aka updates to "FLAG" values) before getting unioned back to the input records each time. If you want to assign all the DMAs, have the loop output filter to any DMA records where "FLAG"=null/0.

 

I hope this helps.

Lance_In_My_Pants
6 - Meteoroid

Just realized my logic is incorrect, the flag attribute worked great.

Labels