Why Isn’t my Iterative Macro Working?

by Jeremy Kneebone

We’ve been learning Alteryx macros this week in the data school. Other Data School blogs have explained how to build a macro, but I thought I’d give you my checklist of things that you might have done wrong.


If your iterative macro doesn’t work, it might be because:


  1. You haven’t saved it as an iterative macro. Click on the canvas, click on the Workflow tab of the Workflow Configuration, and go into the Workflow Configuration: the option will be there.

  1. You didn’t create two macro outputs: one to feed back into the loop (I usually call it ‘Loop’) and one to be the data output from the macro.

  1. You didn’t go into View > Interfact Designer > Properties (the little spanner tool on the left-hand side of the dialog box) and set the Iteration Output. You should select, from the drop-down, the name of the output tool you want to feed back into the loop.


  1. Your output to be looped back into the macro isn’t in exactly the same format as the initial input. Either you’ve got the wrong fields or you haven’t made sure the fields are of the same name and data type as the original fields.


  1. You didn’t limit the number of iterations. To do this, put a Filter tool before your loop output and filter by the highest number of iterations you need to do (once you’ve changed the Workflow Configuration to say ‘Iterative Macro’, you can use the ‘EngineIteration.Number’ field to show which iteration of the process the output is from. Your output should link to the True outcome of the tool.


  1. You haven’t run the macro from another workflow. Construct a second workflow to produce the data you need for the macro, then right-click in the second workflow whilst your macro workflow is still open, select Insert > Macro from the drop-down menu, then select the name of the macro you just saved. The blue circular macro icon should appear on the canvas.