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!
Solved! Go to Solution.
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
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}
Hi @fishdontfly!
I am glad to hear that you are now flying. Here's a sample of my thoughts (scary):
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
Thank you very much, this works perfectly!