Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Designer Desktop Discussions

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

Workflow that detects uncategorized items and remembers user's input for future runs?

AkisM
10 - Fireball

The workflow is supposed to work like this:

Item Name, Item Code, Product Category. Based on item name, I have a formula that covers some basic items to help with product categorization, i.e.

 

If Contains([Item Name], "Bulb") then "Lighting".

 

So the user just points the workflow to a spreadsheet of items + their item codes, and the workflow adds the categories next to each item. Obviously it isn't very practical to write 30+ if statements for every possible product, especially considering that new items may be added to the store over time. Basically I am trying to avoid a feedback loop where the workflow would constantly have to be re-worked to ensure new items are categorized, and the way I imagined it would work (but not sure if feasible, or how to do it in alteryx) would be this:

 

Near the end of the workflow, a filter tool detects null product categories, and a pop up window asks the user to manually enter product category for each uncategorized product. Then this is saved somehow, maybe by writing the user input to another excel file which is updated each time the workflow is ran, and then you also reference this file at the beginning of the workflow, so each time the workflow is ran, it also checks past user description/categories before listing the uncategorized items in the user pop-up.

 

Any ideas what tools to use to achieve this? Any help would be much appreciated.

 

 

7 REPLIES 7
echuong1
Alteryx Alumni (Retired)

I would approach this by creating a master table of product and category. You can then use this table with a join tool to add the corresponding categories. This would be your "J" output. 

 

You can configure your workflow so anything in the source file not in the master table (could be your "R" or "L" output depending on how you configured the workflow" will trigger a warning/error message for the user to add the missing categories to the master table. You can have these records appended to the master table using an output tool so the user only has to add the corresponding categories and not the entire product-category record. 

 

Let me know if that helps or if you need additional clarification! 

danilang
19 - Altair
19 - Altair

Hi @AkisM 

 

Alteryx can do wonders with data prep, prediction, reporting, etc, but one area that it lacks in is Data input.  The Interface tools are designed so that you can make changes to the configuration of the workflow, i.e. choose which columns to process, and not designed to make make large scale changes to data.  For instance, there's no grid tool where you can display and edit an arbitrary table.  Because of this, you have to perform the data entry outside of Alteryx.

 

Very much along the lines of what @echuong1 suggested, here's a workflow that takes an item file and matches it with a category lookup table.  w.png

 

The matching is done in the Find replace tool.  The top branch simply outputs the item file with the categories. For simplicity, the item file is just a Text Input tool in this example, but you'd replace this with an Input and the Browse wiht an Output tool.  The bottom branch takes the descriptions that aren't matched and adds them as keywords in the CategoryLookup file. 

 

At the start of the of the process, the lookup is this

 

ci.png

 

After running trough once, the description from the uncategorized item "Bath Tub" is added to the lookup table

 

co.png

At this point, the user would edit the lookup table, possibly in Excel, and modify final keyword to "Tub" and the category to Plumbing.  The next time the workflow runs, it would use the updated lookup file.

 

Dan

 

 

 

 

AlteryxUserFL
11 - Bolide

I think this does exactly what you want from a flow standpoint. You could either use this method and  just manually update a spreadsheet each time there is data on the null output or you could try and design an analytic app to do what you described, but that would be a somewhat bigger project. This example should at least get you started and then you can layer the analytics app over it if desired.  Look into chained analytics apps. 

 

Let me know if you have any questions. 

AkisM
10 - Fireball

Hi @echuong1 , @danilang , @AlteryxUserFL understood, thanks for all the proposed solutions, but I wish to do this without the user manually doing anything in excel. I want the user to be able to make whatever needed category addition through the alteryx app that I'll design. I'm attaching below a slightly messy workflow that "kinda" demonstrates it, but it has 2 issues that hopefully someone could help me with:

 

1. The warning messages that display which items were uncategorized aren't actually "popping up" in front of the user. It's just a message in the console output that may not be very visible. The error message could do this, but I don't know how to configure it to output an expression instead of just a string.

 

2. The user inputs that I made always pop up. Can I make them pop up only if uncategorized items were detected? I'm not sure how to do this, especially considering that the "user input" part of the workflow has no input connectors anywhere to be attached to the rest of the workflow. Would the only solution be to create a 2nd app for that and chain it with the 1st? If so how would I write the event for the command argument to trigger the user input app only when any number of categories is null?

 

3. The user has to be able give more than 1 row of inputs. If 2 items were left uncategorized, then the question would repeat 2 times, and so on. Currently they can give only 1 input. Is this possible? Or would the only solution be to ask the user to enter multiple values in the same question field comma separated, and then have the workflow parse it into different rows?

 

4. Can I configure the app to give some sort of visual output to the user of the items that weren't categorized, so that they can be looking at it while filling in the questions? There could be 8+ uncategorized items at once, the user wouldn't remember which if they don't have a visual reference.

AlteryxUserFL
11 - Bolide

Hello AkisM, 

 

I think your trying to stretch Alteryx outside of it's primary scope. Alteryx is a data prep / analysis tool, not a data intake tool. The Alteryx App was deigned to allow a user to control the parameters around a flow, not for data intake in a feedback loop. You may be able to do this using chained Analytics app, but I don't think you will ever reach an ideal state using Alteryx for this. 

 

If you don't like Excel, have you considered SharePoint? When user input is needed, I often direct users to share-point link that Alteryx reads from / writes to for line by line data entry from a user. This allows a clean interface, and my Alteryx server is working on the back end to process the data. 

AkisM
10 - Fireball

@AlteryxUserFL I'm aware this is not its primary function, but I'm confident it is very much doable. I don't think an "ideal" state is needed, since the use case I described is going to be pretty small scale at least for my purposes.

 

I came up with an idea that does exactly what I need it to do, but I need to fill in a knowledge gap on event triggered apps to chain the 2nd part of the app. Basically, the first app outputs the uncategorized items in a yxdb format, which the user can look at in the gallery preview window. Then, the 2nd app needs to be triggered, which would have let's say a static 5-line entry, and the user can fill in as many or as little necessary.

 

My question is, how do you configure the 2nd app to be triggered only if the first one had an output from the "uncategorized" data stream? I guess another solution is to simply have it always run after the 1st app finishes and the user can just ignore all fields in the 2nd app if there were no uncategorized items, but I find it a bit inefficient considering you can trigger based on an event.

AkisM
10 - Fireball

In the end I solved the issue using chained apps and a conditional runner macro. Thanks for everyone's inputs.

Labels