Featured Ideas
Hello,
After used the new "Image Recognition Tool" a few days, I think you could improve it :
> by adding the dimensional constraints in front of each of the pre-trained models,
> by adding a true tool to divide the training data correctly (in order to have an equivalent number of images for each of the labels)
> at least, allow the tool to use black & white images (I wanted to test it on the MNIST, but the tool tells me that it necessarily needs RGB images) ?
Question : do you in the future allow the user to choose between CPU or GPU usage ?
In any case, thank you again for this new tool, it is certainly perfectible, but very simple to use, and I sincerely think that it will allow a greater number of people to understand the many use cases made possible thanks to image recognition.
Thank you again
Kévin VANCAPPEL (France ;-))
Thank you again.
Kévin VANCAPPEL
I’ve been using the Regex tool more and more now. I have a use case which can parse text if the text inside matches a certain pattern. Sometimes it returns no results and that is by design.
Having the warnings pop up so many times is not helpful when it is a genuine miss and a fine one at that.
Just like the Union tool having the ability to ignore warnings, like Dynamic Rename as well, can we have the ignore function for all parse tools?
That’s the idea in a nutshell.
- Category Parse
- Desktop Experience
- New Request
Right now, the List Box interface tool allows end users to select multiple options of fields for selections, filtering, and formatting/formulating.
However, it doesn't do quite as good when a use case has over 1,000+ columns/fields. This is made even more complicated with each column/field having somewhat similar naming conventions thereby causing confusion.
Having a search function, as made available in standard Select Tools, Join tools, and other tools that has filtering capacity, will be most helpful for developers to give maximum flexibility to end users.
- Category Interface
- Desktop Experience
Hello,
As of today, DCM is great to store credentials. But once we want to dive deeper in technicity, like using macros or Applications, it's really bad. One of the things I hate is that we can't retrieve any informations from the DCM connection, just the id. Not good for logs, really bad for understanding and have some conditional logic related to connection type or name.
Here an example
Nice, I managed to retrieve an id but I have no idea of what it means : what kind of connection? what's name?
Best regards,
Simon
- Category Input Output
- Category Preparation
- Data Connectors
- Desktop Experience
I surprisingly couldn't find this anywhere else as I know it's been discussed in person on many occasions.
Basically the Formula tool needs to be smarter in many ways, but this particular post focuses on the Data Type component.
The formula tool, should not always default to V_String as the data type when entering data or a formula into the formula tool, it should look at the data type and estimate the most likely option.
I know there are times where the logical type might not be consistent in all fields, but the Data Preview and the Function of the formula should be used to determine the most likely option.
E.G. If I type a number or a date directly into the formula tool, then Alteryx should be smart enough to change the data type from the standard V_String to Int, Double or date.
This is an extension to the ideas posted here:
- Category Preparation
- Desktop Experience
The Join Tool tells you which records did not match (Left and Right) but it does not tell you what fields it did not match on. This could quickly help the analyst determine which fields they need to look into to determine why there are unmatched records. When joining on 5+ fields it becomes difficult to determine why some records did not match without manually inspecting each record which is time consuming. The column title could be: Unmatched Field(s) and the values should be concatenated separated by commas.
- Category Join
- Desktop Experience
- New Request
Can a function be added to the Text-to-Column tool that allows selecting "split on entire entry" or "split on entry-as-a-whole" for the delimiters field?
Background:
Currently if we type vs. in the delimiters field, it'll look for each character separately including spaces.
The recommendation in the tool help is to use RegEx for splitting on whole words, but for some, RegEx is quite intimidating and adding this function would be a big help for new users.
Proposed Change:
2 Radio Buttons added to the Text-to-Column tool
- Split by Each Entry
- Current functionality
- Should be default
- Splits on every letter, space, punctuation, etc. separately
- Split by Entire Entry
- Allow splitting by using entire entry in the field
- Still includes spaces, letters, and punctuation, but now sees as "whole-word"
Example of function:
- Radio button set to "split by entire entry"
- Delimiter field has: vs.
- Tool sees ______ vs. ______ in a column in the data
- Tool splits ______ and ______ into new columns leaving out the entire vs. including the spaces entered around it
Thank you!
- Category Parse
- Desktop Experience
I often need to create a record ID that automatically increments but grouped by a specific field. I currently do it using the Multi-Row Formula tool doing [Field-1:ID]+1 because there is no group by option in the Record ID tool.
Also, sometimes I need to start at 0 but the Multi-Row Formula tool doesn't allow this so I have to use a Formula tool right after to subtract 1.
So adding a group by option to the Record ID tool would allow the user not to use the multi-row formula to do this and to start at any value wanted.
- Category Preparation
- Desktop Experience
Hello,
A lot of time, when you have a dataset, you want to know if there is a group of fields that works together. That can help to normalize (like de-joining) your data model for dataviz, performance issue or simplify your analysis.
Exemple
order_id item_id label model_id length color amount
1 | 1 | A | 10 | 15 | Blue | 101 |
2 | 1 | A | 10 | 15 | Blue | 101 |
3 | 2 | B | 10 | 15 | Blue | 101 |
4 | 2 | B | 10 | 15 | Blue | 101 |
5 | 2 | B | 10 | 15 | Blue | 101 |
6 | 3 | C | 20 | 25 | Red | 101 |
7 | 3 | C | 20 | 25 | Red | 101 |
8 | 3 | C | 20 | 25 | Red | 101 |
9 | 4 | D | 20 | 25 | Red | 101 |
10 | 4 | D | 20 | 25 | Red | 101 |
11 | 4 | D | 20 | 25 | Red | 101 |
Here, we could split the table in three :
-order
order_id item_id model_id amount
1 | 1 | 10 | 101,2 |
2 | 1 | 10 | 103 |
3 | 2 | 10 | 104,8 |
4 | 2 | 10 | 106,6 |
5 | 2 | 10 | 108,4 |
6 | 3 | 20 | 110,2 |
7 | 3 | 20 | 112 |
8 | 3 | 20 | 113,8 |
9 | 4 | 20 | 115,6 |
10 | 4 | 20 | 117,4 |
11 | 4 | 20 | 119,2 |
-model
model_id length color
10 | 15 | Blue |
20 | 25 | Red |
-item
item_id label
1 | A |
2 | B |
3 | C |
4 | D |
The tool would take :
-a dataframe in entry
-configuration : ability to select fields.
-output : a table with the recap of groups
<style> </style>
field group field remaining fields
1 | item_id | False |
1 | label | False |
2 | model_id | False |
2 | color | False |
3 | order_id | True |
3 | link to group 1 | True |
3 | link to group 2 | True |
3 | amount | True |
Very important : the non-selected fields (like here, amount), are in the result but all in the "remaining" group.
Algo steps:
1/pre-groups : count distinct of each fields. goal : optimization of algo, to avoid to calculate all pairs
fields that has the same count distinct than the number of rows are automatically excluded and sent to the remaining group
fields that have have the same count distinct are set in the same pre-group
2/ for each group, for each pair of fields,
let's do a distinct of value of the pair
like here
item_id label
1 | A |
2 | B |
3 | C |
4 | D |
if in this table, the count distinct of each field is equal to the number of rows, it's a "pair-group"
here, for the model, you will have
-model_id,length
-model_id,color
-length,color
3/Since a field can only belong to one group, it means model_id,length,color which would first (or second) group, then item_id and label
If a field does not belong to a group, he goes to "remaining group" at the end
in the remaining group, you can add a link to the other group since you don't know which field is the key.
<style> </style>
field group field remaining fields
1 | item_id | False |
1 | label | False |
2 | model_id | False |
2 | length | False |
2 | color | False |
3 | order_id | True |
3 | link to group 1 | True |
3 | link to group 2 | True |
3 | amount | True |
Best regards,
Simon
PS : I have in mind an evolution with links between non-remaining table (like here, the model could be linked to the item as an option)
- Category Data Investigation
- Desktop Experience
- New Request
I wasn't able to find an existing idea for this, so here goes...
We often put URLs in Comment boxes in order to direct workflow users to different resources, but users are then required to go into the Comment and copy the string (and then paste in their browser). It would be quite handy if the Comment tool simply turned text strings with a url format into clickable links (as seen in Word, Slack, etc).
It would be even more handy if it also had basic text formatting tools (bold, italic, underline, coloring, highlighting of specified characters/words) -- or if it could just render html (like this text tool I'm typing into right now) 😎
- Category Documentation
- Desktop Experience
The Find Replace tool has a checkbox to do a case insensitive find. It would be fabulous if the Join and Join Multiple tools had a similar checkbox.
I frequently have to create a new field in each data stream, convert the data I want to join on to upper case, perform the join and remove the extra "helper" fields. Using the helper field is needed in my case in order to preserve unique capitalization (i.e., acronyms within the string, etc.).
- Category Join
- Desktop Experience
My idea is essentially to borrow the keybinding/command ethos of Vim for Alteryx. For those who are unfamiliar, Vim is a text editor from a time before the mouse and the GUI became dominant forms of interacting with PCs. I think the key ideas to take from Vim are the Modes, Commands, and Grammar.
Vim is mode based for its typing. You start out in Normal mode and enter other modes through key commands. For example, to enter Insert mode, you just type 'i'. This mode allows you to enter text into whatever file you have open at the moment. There's also the Visual mode which is for highlighting sections of text for processing with other commands. This means that key commands can take on a variety of meanings in different modes, adding depth in a limited key range.
The Grammar is another key aspect. Rather than hold an arcane combination of modifiers and letters, Vim uses an Operator-Count-Motion approach. The operator will be the primary action: y for yank/copy, d for delete, c for change, v for visual select. The Count is how many objects you want this operator to be applied to. The Motion is where and what you want to work with: w for a word, s for a sentence, p for a paragraph, ( for a set of parentheses, b for brackets. There are also options that extend this so you can have a series of commands like d2w (delete 2 words), di( (delete inside parentheses), yap (yank/copy all of a paragraph), etc. Below is a cheat sheet displaying a wider list of the possibilities with the motions.
The Command mode is the last piece of the puzzle. By typing ':' while in Normal mode, you bring up a command prompt. Here you can enter any of a number of commands including changing user settings via keywords. For example, :s/old/new/gc will search through my file and attempt to find and replace every old term with the new term, the c at the end means that Vim will ask for confirmation before each change. I could also do things like :set nohl which will turn off highlighting for items found during searches. It's easy to imagine using similar functionality to make configuration changes to a wide set of tools or simply to selectively delete tools without using the mouse or scrolling to them.
To take it a step further, current menu functions could be turned into commands, imagine typing v6t to select the next 6 tools on the canvas. You could follow this by typing :Contain %V to wrap the selected tools in a container, perhaps with extra arguments a specific color palette could be applied as well! I say all this to say that the way forward for shortcuts in Alteryx is to break away from the one-handed modifier heavy paradigm that so many programs follow today. By creating commands that can duplicate the actions found in drop down and right click menus, as well as providing a means of navigating the canvas without a mouse, Alteryx can go to the next level in terms of efficiency and ergonomics.
Let me know what you think, if you need more concrete ideas on what this might look like in practice, I can add that. Thanks!
P.S. If you work on side projects outside of Alteryx, consider giving NeoVim a try, it adds a lot of extensibility and customization to classic Vim
- Desktop Experience
- New Request
- User Settings
- UX
Currently : the "Label" element in the Interface Designer Layout View is a single line text input.
Why could it be impoved : the "Label" element is often used to add a block of text in an analytical application interface. And adding a block of text in a single line text input is **staying polite** quite the struggle.
Solution : make this single line text input a text box just like the formula editor.
- Category Apps
- Desktop Experience
I sometimes have to swap (change the order of) two tools in a flow. It is a bothersome task, especially when there are many connections around them. I would like to suggest two new features for such a situation. It would help if either could be realized.
Swap tools
Select two tools, right-click, and select "Swap" option. 
Move and connect around
Drag a tool holding down Alt key (or something) to move it from the stream and connect around. After that, we can drag and drop the tool to the right place.
- Desktop Experience
- New Request
When configuring a FILTER tool, the results of your formula are uncertain until you RUN/PLAY the workflow. Compare that experience with the configuration of a FORMULA tool where you see a "Data Preview" of the first record results.
TRUE or FALSE could readily be added to the Filter Tool and save the execution time for the workflow.
When you get to HTML tool versions, you could check many rows of data and potentially give back counts of TRUE and FALSE results as well.
I'll put this on my x-mas list and see if Santa has me on the naughty or nice list.
Cheers,
Mark
- Category Preparation
- Desktop Experience
Toggle individual expressions on/off in the formula tool.
On more than a few occasions I have a number of expressions in a single formula tool and find myself wanting to turn off a few or many, but not all.
It'd be great if there was a checkbox to activate/inactivate : on/off : include/exclude : select/deselect (whatever language you like for the concept) an individual expression.
Simple as a text box. with maybe a 'select/deselect ALL box available incase you want to turn most off then only select a single one?
- Category Preparation
- Desktop Experience
Hello,
Enhancement of 'IN' functionality (ie. in Filter tool), so using range instead of citing particular values for example:
instead [ID] IN (1,2,3,52,53,54,100,101,102) something like that [ID] IN (1-3,52-54,100-102).
- Category Preparation
- Desktop Experience
Idea: Prompt the user to find a missing macro instead of the current UX of a question mark icon.
Issue: When a macro referenced in a workflow is missing, then there is no way to a) know what the name of the macro was (assuming you were lazy like me and didn't document with a comment) and b) find the macro so you can get back to business.
When this happens to me know, I have to go to the XML view and search for macros and then cycle through them until I find the one that's missing. Then I have to either copy the macro back into that location or manually edit the workflow XML. Not cool man.
Solution: When a macro is missing, the image below at the right should be shown. In the properties window, a file browse tool should allow the user to find the macro.
- API SDK
- Category Developer
- Category Macros
- Desktop Experience
Hi all!
Based on the title, here's some background information: SHAPLEY Values
Currently, one way of doing so is to utilize the Python tool to write out the script and install the package. However, this will require running Alteryx as an administrator in order to successfully load, test, and run the script. The problem is, a substantial number of companies do not grant such privileges to their Alteryx teams to run as administrator fully as it will always require admin credentials to log in to even open Alteryx after closing it.
I am aware that there is a macro covering SHAP but I've recently tested it and it did not work as intended, plus it covers non-categorical values as determinants only, thereby requiring a conversion of categorical variables into numeric categories or binary categories.
It will be nice to have a built in Alteryx ML tool that does this analysis and produces a graph akin to a heat map that showcases the values like below:
By doing so, it adds more value to the ML suite and actually helps convince companies to get it.
Otherwise teams will just use Python and be done with it, leaving only Alteryx as the clean-up ETL tool. It leaves much to be desired, and can leave some teams hanging.
I hope for some consideration on this - thank you.
- Category Data Investigation
- Category Machine Learning
- Category Predictive
- Desktop Experience
Checkbox ability to ‘not’ output the original column on a text to columns tool
- Category Parse
- Desktop Experience
Hey all,
The join tool currently does not allow case-insensitive joins, but the find/replace tool does. Additionally- even if both sides are identical, the join tool will not join "Sean's house" to "Sean's house" because of the non-letter character in the middle. Finally - if one side is a string(2), and the other is a vString(200) - even if you have a single identical character on both sides you get uncertain outcomes unless you force the type
Please could you consider amending the join tool to include 3 new options or capabilities:
- Case insensitive join
- Allow full Unicode character set in join
- Full match across text types (irrespective of string size) - this would allow a string(2) value to match to a string(100) value as long as the string(100) value only has the same 2 characters in it as the string(2) value
That would remove a load of work from every text-join that's being done on every canvas we do.
Thank you
Sean