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 App?

fishdontfly
6 - Meteoroid

Hi Alteryx Community!

 

GOAL:

I am developing an App that I would like to iterate or repeat for each unique cell in the first column of a dataset. 

 

CONTEXT: 

The app intends to create a lookup table. Although it would be much quicker to create a lookup table in Excel and then input it, I need the app to be completely self-contained in Alteryx.

 

For the sake of simplifying the attached, I replaced the input with a Text Input tool, and the dropdown menu values have been manually entered (instead of coming from a chained app).

 

As you can see, the app runs a single time and maps the selected values together. I would like it to repeat this for AA, BB, CC ... NN such that every value is mapped to either 1, 2, 3, or 4.

 

QUESTION:

1. Is there a way to make the app prompt the user anew, for each of the items in the input table's first column?

 

2. If there isn't a way to make this loop, is there a way to make the app show a pair of dropdowns for each of records in the input data's first column?  So instead of a hard coded number of dropdowns, it will dynamically reflect the number of values or rows in the first input dataset?

 

I have tried using batch macros and iterative macros instead of the formula tool, however I am unable to make the app interface loop and open anew for the user to select new values during an iterative or batch macro.

 

 

Thank you!

5 REPLIES 5
MarqueeCrew
20 - Arcturus
20 - Arcturus

Concept clarification.

 

If the results are ALWAYS {1,2,3,4}, then why not approach the problem like:

 

Step #1:  Produce unique "Name" list and store it as a Name, Value pair for reading into an external List Box interface source.

 

Step #2:  Have four (4) static questions asking which of the given names is a #1/#2/#3/#4 as four distinct interfaces, but sourced from same step #1 yxdb.

 

Just wondering....

 

Mark

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
fishdontfly
6 - Meteoroid

Hi, 

 

Thanks for your response! The results would be different each time, so instead of {1,2,3,4}, this list is actually created by using a summarize tool to produce a set of unique values from a field that the user specifies in a previous chained app.

 

The user experience is something like this:

1) Select input file

2) Select column that contains Names [dropdown containing all columns]

3) Enter the categories that you wish you map each name to, separated by commas [text input tool]

4) Map each Name to a category

 

So the comma separated list that you enter is converted into a table, and then populates a dropdown menu so that you can select a Name and select a category, and map them. But then I want the user to repeat this process for each of the names, and that is the bit I am hung up on.

 

I like your idea of using a List Box tool still, because it seems far more efficient than dropdown menus, however I would have to make the number of interfaces dynamic, depending on the number of unique values in the list that replaces {1,2,3,4}

MarqueeCrew
20 - Arcturus
20 - Arcturus
My original approach might still work. If you are free now, I could work this with you. I would build a tree to create the interface selections. It approximates the same selection process. We would need to include a test in front of the workflow to see that no option is selected multiple times.

Please Private Message me your email address and I will setup a webex.
Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
MarqueeCrew
20 - Arcturus
20 - Arcturus

Hi @fishdontfly!

 

I am glad to hear that you are now flying.  Here's a sample of my thoughts (scary):

 

Capture.png

 

Suppose you read through your file and find that there are 3 categories (could be any #) and there are 9 values to categorize (again, could be any #).  In my example I have 3 x 9.  What I do is construct a TREE where each value is listed below each category.  The user must select the category.  In the attached workflow(s), I first build/plant the tree and then I can climb it.

 

Within the 2nd App (pictured above), I check to see that no value is checked 2+ times.  The app will error if that happens.  If an item/value is not checked, I ignore the issue.  I imagine that you would either use a default or error.

 

The Tree is built by assigning a 3 digit value to the category (I suppose that limits the number of categories to 999, but that can be expanded).  The values are assigned a similar 3 digit value.  Both are STRINGS with 0's in front.  So the first Category is 001, Animal.  The first Value is 001 Alteryx.  The pairs for Alteryx could be 001001, 002001 or 003001.  I use these keys to do the magic within the app.

 

Please try this out and provide feedback about your satisfaction.

 

Cheers,

Mark

Alteryx ACE & Top Community Contributor

Chaos reigns within. Repent, reflect and restart. Order shall return.
Please Subscribe to my youTube channel.
fishdontfly
6 - Meteoroid

Thank you very much, this works perfectly! 

Labels