Free Trial

Alteryx Designer Desktop Ideas

Share your Designer Desktop product ideas - we're listening!
Submitting an Idea?

Be sure to review our Idea Submission Guidelines for more information!

Submission Guidelines

Featured Ideas

Hi there

 

My idea is to have an option to copy and paste a tools configuration to a different tool of the same type somewhere else on the canvas.

 

Example:

Say I have four summarise tools dealing with four different data streams, I envision a 'Copy Tool Configuration' option after right clicking on a tool and then a 'Paste Tool Configuration" which can be applied across the multiple instances of the summarise tool by overwriting. This would preserve the tools anchors incoming and outgoing connections.

 

Benefit:

 

This would increase the speed of developing workflows. Naturally this would be significantly quicker than copy and pasting tools, and then re-wiring anchors. Additionally, this would potentially reduce human error when iteratively developing workflows.

 

Regards - Rhys Cooper

 

 

 

 

 

 

 

 

Dear Alteryx, 

One day, when I pass from this life to the next I'll get to see and know everything!  Loving data, one of my first forays into the infinite knowledge pool will be to quantify the time lost/mistakes made because excel defaults big numbers like customer identifiers to scientific notation.  My second foray will be to discover the time lost/mistakes made due to 

Unexpanded Mouse Wheel Drop Down Interaction

Riveting right?  What is this?  It's super simple, someone (not just Alteryx) had the brilliant idea that the mouse wheel should not just be used to scroll the page, but drop down menus as well.  What happens when both the page and the drop down menu exist, sometimes disaster but more often annoyance.  Case in point, configuring an input tool.

 

See the two scenarios below, my input is perfectly configured, I'll just flick my scroll wheel to see what row I decided to start loading from 

Happy Path, cursor not over drop down = I'll scroll down for you

Screenshot 2024-09-30 094624.png

 

Sad Path, cursor happened to hover the dropdown sometimes on the way down from a legit scroll = what you didn't want Microsoft Excel Legacy format?

Screenshot 2024-09-30 094659.png

And you better believe Alteryx LOVES having it's input file format value changed in rapid succession., hold please...

Screenshot 2024-09-30 095544.png

 

Scroll wheels should scroll, but not for drop down menus unless the dropdown has been expanded.

 

Oh and +1 for mouse horizontal scrolling support please.

 

 

A client just asked me if there was an easy way to convert regular Containers to Control Containers - unfortunately we have to delete the old container and readd the tools into the new Control Container.

 

What if we could just right click on the regular Container and say "Convert to Control Container"? Or even vice versa?!

Currently when a unique tool is used, and a field is removed upstream then the workflow fails to move forward. If you have one or two unique fields being used then it is no big deal, but when you have a very complex workflow then you have to click into each one of those tools in order to update. This can be very problematic and creates a lot of time following all the branches that is connected after the 1st unique tool is used. My suggestion is to make this a warning instead of a fail or have an option to select fail or warning like the union tool is setup. This way people can decide how they want this tool to react when fields are removed. 

Hi! I noticed that there is currently no way to use the debug function when working on an analytic app workflow that contains control containers. I'm running 2024.1 and I use the debug feature in my workflows that currently do not have control containers for me to troubleshoot when data changes in a dynamic workflow. Currently, when running in test mode, I have no way to review the data step by step in the flow when selected dynamically through the interface apps. I can only view the final output and make tweaks. 

The TO field (and I assume other fields) in the Email tool seem to have a 254 character limit - this should be increased heavily as there are many distribution lists that will go above this character limit!

A distribution list works but is not ideal. Thumbs up if you like this idea!

The idea behind encrypting or locking a workflow is good for users to maintain the workflow as designed. 

However, when a user reaches a level of maturity equivalent to that of the builder or more, or even when changes are required - the current practice is to keep a locked and unlocked version of the workflow so that it allows for a change in the future. 

It would be much simpler if we can have the power to lock and unlock workflows with a password. Users can then maintain and keep the passwords so that they can continue with the workflow. 

Not everybody is on Server yet so this feature is very helpful for control before Server migration. Otherwise it’s just password protecting a folder containing the workflow package, then re-locking a new save file each time a change is made or when someone new takes over on prem. 

Hello,

A lot of tools that use R Macro (and not only preductive) are clearly outdated in several terms :
1/the R package
2/the presentation of the macro
3/the tools used

E.g. : the MB_Inspect

 

image.png

Ugly but wait there is more :

 

image.png

Also ; the UI doesn't help that much with field types.

Best regards,

Simon

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

11A1015Blue101
21A1015Blue101
32B1015Blue101
42B1015Blue101
52B1015Blue101
63C2025Red101
73C2025Red101
83C2025Red101
94D2025Red101
104D2025Red101
114D2025Red101

Here, we could split the table in three :
-order

 

order_id item_id model_id amount

1110101,2
2110103
3210104,8
4210106,6
5210108,4
6320110,2
7320112
8320113,8
9420115,6
10420117,4
11420119,2

-model

 

model_id length color

1015Blue
2025Red

-item

 

item_id label

1A
2B
3C
4D

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

1item_idFalse
1labelFalse
2model_idFalse
2colorFalse
3order_idTrue
3link to group 1True
3link to group 2True
3amountTrue

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

1A
2B
3C
4D

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

1item_idFalse
1labelFalse
2model_idFalse
2lengthFalse
2colorFalse
3order_idTrue
3link to group 1True
3link to group 2True
3amountTrue

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)

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.

 

0edc98b0-6f9f-4a17-8d9f-7a9655cd9fbe.png

 

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

In the tools that embed the "Rename" option (Select, Append Fields, Join, Join Multiple), copying the new name will copy all the information of the field configuration : tick/untick, original field name, type, size, new name and description.

 

Renaming the field "Rename_Field"Renaming the field "Rename_Field"

 

 

Capture2.PNG

 

In my opinion, it should copy only the new name. This would be useful, especially because when you change the name of a field, it isn't automatically changed in subsequent tools, so copying it to replace it in those tools is faster than retyping it every time.

Add the remove or add Prefix or Suffix Feature on the Summary Tool because this is where the prefix is added automatically by the Summary tool, so instead of adding a new select tool after the Summary tool to remove the prefix. why not to embed it with the summary tool it self. 

SaadNaser_1-1680691189920.png

SaadNaser_2-1680691215294.png

 

 

 

 

 

 

Hello! It would be great if I could "favorite" a tool when I search for it in the search bar in Designer. Currently, I can drag and drop it to the Canvas, but if I want to "favorite" it, I have to remember the icon and color, then go find it in the right tab. This would be a nice enhancement!

The current approach gives me both Record Counts and Total Record Size in KB, but I don't need or want the KB.

 

The option I am requesting does not currently exist.  It would remove the KB and leave you with just the Record Counts.  KB is useless to me.  I only care about Record Counts.  This option would help reduce the noise/clutter of the KBs.

Capture.JPG

Idea

I feel the necessity of the features to know the version of Alteryx Designer Desktop for each user within an organization. 

As well as some usage data of each user like 'Last Used' are available in License Portal, if 'Version of Alteryx Designer Desktop' for each user is also available in License Portal, it would be more manageable and could enhance the governance in organization.

 

Background

When the organization uses Alteryx Server and Designer Desktop, it is more challenging to make alignment of version of these products.

We frequently see our users install/upgrade to newer version of Alteryx Designer than that of Alteryx Server, and cause incompatibility issue when interacting with Alteryx Server.

Although we instruct our users to install the particular version, they sometimes upgrade to newer version later on by themselves, but it's not detectable.

I mean, even if they're using a wrong version of Alteryx Designer Desktop, we won't realize it until a problem occurs.

In order to identify such users and rectify their version, administrator shall be able to know which version they use whenever needed.

License Portal would be one of the best platform to make that information available in my opinion.

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

 

image.png


 

image.png


 

image.png

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

Hello,

This is a feature I haven't seen in any data prepation/etl. The core feature is to detect the unique key in a dataframe. More than often, you have to deal with a dataset without knowing what's make a row unique. This can lead to misinterpret the data, cartesian product at join and other funny stuff.

How do I imagine that ?

a specific tool in the Data Investigation category

Entry; one dataframe, ability to select fields or check all, ability to specify a max number of field for combination (empty or 0=no max).
Algo : it tests the count distinct every combination of field versus the count of rows

Result : one row by field combination that works. If no result : "no field combination is unique. check for duplicate or need for aggregation upstream".

ex :

 

order_id line_id amount customer site

11100AU_250
1212AU_250
1345AU_250
2175AU_250
2212AU_250
3115BU_250
4145BU_251

The user will select every field but excluding Amount (he knows that Amount would have no sense in key)

The algo will test the following key
-each separate field
-each combination of two fields
-each combination of three fields
-each combination of four fields

to match the number of row (7)
And gives something like that

 

choice number of fields field combination

very good2order_id,line_id
average3order_id,line_id, customer
average3order_id,line_id, site
bad4order_id,line_id, site, customer
….

Best regards,

Simon

Hello all,

As of today, you can populate the Drop Down tool in the interface category with a query launched from a in-memory connection. I would really appreciate the ability to use instead an in-db connection.

simonaubert_bd_0-1675421825343.png

 

Why ?
It means managing two connections instead of one, and finding ways to manage it on server for both of them, etc etc.. Simplicity is key.

Best regards,

Simon

Hello,

Unless you're lucky, your input dataset can have fields with the wrong types. That can lead to several issues such as :
-performance (a string is waaaaaaaay slower than let's say a boolean)
-compliance with master data management
-functional understanding (e.g : if i have a field called "modified" typed as string, I don't know if it contains the modification date, an information about the modification, etc... while if it's is typed as date, I already know it's a date)
-ability to do some type-specific operations (you can't multiply a string or extract a week from a string)


right now, the existing tools have been focused on strings but I think we can do better.


Here a proposition :

entry : a dataframe
configuration :
-selection of fields
or
-selection of field types
-ability to do it on a sample (optional)


Algo :

AlteryxByteboolonly 2 values. 0 and 1 to be done
AlteryxInt16boolonly 2 values. 0 and 1 to be done
AlteryxInt16Bytemin=>0, max <=255to be done
AlteryxInt32boolonly 2 values. 0 and 1 to be done
AlteryxInt32Bytemin>=0, max <=255to be done
AlteryxInt32Int16min>=-32,768, max <=32,767to be done
AlteryxInt64boolonly 2 values. 0 and 1 to be done
AlteryxInt64Bytemin>=0, max <=255to be done
AlteryxInt64Int16min>=-32,768, max <=32,767to be done
AlteryxInt64Int32min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxFixed Decimalboolonly 2 values. 0 and 1 to be done
AlteryxFixed DecimalByteNo decimal part, min>=0, max <=255to be done
AlteryxFixed DecimalInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxFixed DecimalInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxFixed DecimalInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxFloatboolonly 2 values. 0 and 1 or 0,-1to be done
AlteryxFloatByteNo decimal part, min>=0, max <=255to be done
AlteryxFloatInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxFloatInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxFloatInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxFloatFixed Decimalto be doneto be done
AlteryxDoubleboolonly 2 values. 0 and 1 or 0,-1to be done
AlteryxDoubleByteNo decimal part, min>=0, max <=255to be done
AlteryxDoubleInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxDoubleInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxDoubleInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxDoubleFixed Decimalto be doneto be done
AlteryxDoubleFloatwhen no need for doube precisionto be done
AlteryxDateTimeDateno hours, minutes, secondsto be done
AlteryxStringboolonly 2 values. 0 and 1 or 0,-1 or True/False or TRUE/FALSE or equivalent in some languages such as VRAI/FAUX, Vrai/Fauxto be done
AlteryxStringByteNo decimal part, min>=0, max <=255to be done
AlteryxStringInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxStringInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxStringInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxStringFixed Decimalto be doneto be done
AlteryxStringFloatwhen no need for doube precisionto be done
AlteryxStringDoublewhen need for double precisionto be done
AlteryxStringDatetest on several date formatsto be done
AlteryxStringTimetest on several time formatsto be done
AlteryxStringDateTimetest on several datetime formatsto be done
AlteryxWStringboolonly 2 values. 0 and 1 or 0,-1 or True/False or TRUE/FALSE or equivalent in some languages such as VRAI/FAUX, Vrai/Fauxto be done
AlteryxWStringByteNo decimal part, min>=0, max <=255to be done
AlteryxWStringInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxWStringInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxWStringInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxWStringFixed Decimalto be doneto be done
AlteryxWStringFloatwhen no need for doube precisionto be done
AlteryxWStringDoublewhen need for double precisionto be done
AlteryxWStringStringLatin-1 character onlyto be done
AlteryxWStringDatetest on several date formatsto be done
AlteryxWStringTimetest on several time formatsto be done
AlteryxWStringDateTimetest on several datetime formatsto be done
AlteryxV_Stringboolonly 2 values. 0 and 1 or 0,-1 or True/False or TRUE/FALSE or equivalent in some languages such as VRAI/FAUX, Vrai/Fauxto be done
AlteryxV_StringByteNo decimal part, min>=0, max <=255to be done
AlteryxV_StringInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxV_StringInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxV_StringInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxV_StringFixed Decimalto be doneto be done
AlteryxV_StringFloatwhen no need for doube precisionto be done
AlteryxV_StringDoublewhen need for double precisionto be done
AlteryxV_StringStringSame lengthto be done
AlteryxV_StringDatetest on several date formatsto be done
AlteryxV_StringTimetest on several time formatsto be done
AlteryxV_StringDateTimetest on several datetime formatsto be done
AlteryxV_WStringboolonly 2 values. 0 and 1 or 0,-1 or True/False or TRUE/FALSE or equivalent in some languages such as VRAI/FAUX, Vrai/Fauxto be done
AlteryxV_WStringByteNo decimal part, min>=0, max <=255to be done
AlteryxV_WStringInt16No decimal part, min>=-32,768, max <=32,767to be done
AlteryxV_WStringInt32No decimal part, min>=-–2,147,483,648, max <=2,147,483,647to be done
AlteryxV_WStringInt36No decimal part, min>=-––9,223,372,036,854,775,808, max <=9,223,372,036,854,775,807to be done
AlteryxV_WStringFixed Decimalto be doneto be done
AlteryxV_WStringFloatwhen no need for doube precisionto be done
AlteryxV_WStringDoublewhen need for double precisionto be done
AlteryxV_WStringStringSame length,latin- character onlyto be done
AlteryxV_WStringWStringSame lengthto be done
AlteryxV_WStringV_Stringlatin- character onlyto be done
AlteryxV_WStringDatetest on several date formatsto be done
AlteryxV_WStringTimetest on several time formatsto be done
AlteryxV_WStringDateTimetest on several datetime formatsto be done

 

The output would be something like that

FieldInput typePropositionConversion
totofloatintformula (with example)/native tool/datetime conversion tool…



Best regards,

Simon



Hello all,

This is a very interesting feature of the List Box and Drop Down interface tool : the ability to select fields

image.png

image.png

However such a feature is not available for in-database, highly limiting the use of macros.

Please change.

Best regards,

Simon

Top Liked Authors