Bring your best ideas to the AI Use Case Contest! Enter to win 40 hours of expert engineering support and bring your vision to life using the powerful combination of Alteryx + AI. Learn more now, or go straight to the submission form.
Start 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

Hello all,

We all have experienced these last years the now famous concept of hide/unhide password :
Here a few examples of it

 

password-reveal-button.png

I would like this exact principle everywhere we have a password on Alteryx.

Best regards,

Simon

Hello all,

 

ADBC is a database connection standard (like ODBC or JDBC) but specifically designed for columnar storage (so database like DuckDB, Clickhouse, MonetDB, Vertica...). This is typically the kind of stuff that can make Alteryx way faster.

 

more info in https://arrow.apache.org/blog/2023/01/05/introducing-arrow-adbc/

 

Here a benchmark made by the guys at DuckDB : 38x improvement

https://duckdb.org/2023/08/04/adbc.html

 

307583921-894b24c0-19ee-4900-b80c-7c7688ea9cd9.png

 

Best regards,

 

Simon

In some cases, the information about incoming columns to tools are (temporarily) forgotten, e.g. if Autoconfig is switched off, if the incoming connection is temporarily missing, or if column names are generated dynamically and the workflow has not been executed, yet.

Many tools deal with that situation well, e.g. Selection, Formula, or Summarize. In these cases, the tools tell the user that they cannot find incoming columns, but they preserve the configuration so that the user still can (at least partially) work on these tools and important information on the configuration is not lost:

 

Example Select Tool

  1. First step: Connections present, configuration typed in:
    select-step1-configuration_entered.png
  2. Second step: Connection cut, confguration opened. The configuration looks screwed up but implicitly contains all settings:
    select-step2-incoming_connection_missing.png
  3. Third step: Connection re-connected. The configuration is as before:
    select-step3-incoming_connection_present.png

 

Other tools behave the opposite, for example Unique or Macro Input (an for sure many other tools). If the incoming columns are currently unknown to the Designer and you click once on the symbol, the entire configuration of this tool is lost. You might try to get the configuration back by pressing undo. This, in most cases does not work. Or, even worse, you find out what happened later when it's too late for undo. In this case, you either have an old version of that workflow to look up the configuration or you have to re-develop it. In any case, this is unnecessary and time-consuming software behaviour.

 

Example Unique Tool

  1. Step 1: Connections present, configuration typed in:
     unique-step1-configuration_entered.png
  2. Step 2: Connection cut, confguration opened. The configuration is empty:
    unique-step2-incoming_connection_missing.png
  3. Step 3: Connection re-connected: The entire configuration is permanently lost:
    unique-step3-incoming_connection_present.png

I wasn't sure whether I should report this as a bug or a feature enhancement. It is somehow in between. Two aspects tell me that this should be changed:

  • Inconsistent behaviour of different tools for now reason,
  • Easy loss of programming work, resulting in time-consuming bug fixing.

Please make sure that all tools preserve their configuration also if information on incoming columns is temporarily lost.

Hello all,

Apache Doris ( https://doris.apache.org/ ) is a modern datawarehouse with a lot of ambitions. It's probably the next big thing.

 

image.png


You can read the full doc here https://doris.apache.org/docs/get-starting/what-is-apache-doris but to sum it up, it aims to be THE reference solution for OLAP by claiming even better performance than Clickhouse, DuckDB or MonetDB. Even benchmarks from the Clickhouse team seem to agree.

Best regards,

Simon

Hello all,


As of today, we use the good old alias in-memory to connect to our datasources in in-memory. We have several environments so we use constants in order to change the name of the in-memory alias during execution.

To illustrate :

simonaubert_bd_0-1701895804110.png

 

 

Depending of the environment, the constant « v_gp_contexte » will take different values :

  • GP_DS08_SIDATA for la dev.
  • GP_EE_SIDATA for prod.

Sounds nice, right? But now, we would like to use DCM and the nightmare begins :

We can't manually change the name and set the question :

simonaubert_bd_2-1701895988262.png

 

if we look at the xml of the workflow, we only find an id so editing it is useless :

simonaubert_bd_3-1701895988262.png

 


(for informationDCM connections are stored in some sqlite db in C:\Users\{yourname}\AppData\Local\Alteryx

So, I would like to use the DCM inside the in-memory alias (the in-memory alias is stored and can be edited), just like for in-db connection alias.

Best regards,

Simon

 

 

Hello,

I think I have neer wrotten an easier idea : the tooltip for the run workflow button should indicate the keyboard shortcut (ctrl+R). So simple, so intuitive..

image.png

Best regards,

Simon

Today, there is an checkbox to "Disable All Tools that Write Output" within the Runtime settings for a workflow.  Setting this option requires at least 3 clicks:

  • Click on the canvas
  • Click the "Runtime" tab in the Configuration pane
  • Click the checkbox

Could a keyboard shortcut be added for this?  I've spoken to several users who leverage this feature and, while it is already a time saver, it seems helpful enough where a keyboard shortcut is warranted.

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,

According to wikipedia https://en.wikipedia.org/wiki/Materialized_view

 In computing, a materialized view is a database object that contains the results of a query. For example, it may be a local copy of data located remotely, or may be a subset of the rows and/or columns of a table or join result, or may be a summary using an aggregate function.

The process of setting up a materialized view is sometimes called materialization.[1] This is a form of caching the results of a query, similar to memoization of the value of a function in functional languages, and it is sometimes described as a form of precomputation.[2][3] As with other forms of precomputation, database users typically use materialized views for performance reasons, i.e. as a form of optimization.

 

So, I would like to create that in Alteryx, for obvious performance reasons in some use cases.

This is not a duplicate of https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Ideas/In-DB-Create-View/idi-p/157886

 

Best regards,

Simon

Hello all,

According to wikipedia :
https://en.wikipedia.org/wiki/Embedded_database

 

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application.

 

 

It's often like a single file/dll that you can use inside an application without the user having to connect (or at least to configure it) to it (it's all done inside the application). So, it's widely portable.


Why it does matter ?

As of today, there is not a single example of in database workflow because all the supported databases need the user to:

1/install an odbc driver (most of time, he won't have the rights to do so)

2/configure an odbc connection (sometimes, he doesn't have the rights to)

3/configure a connection on Alteryx (ok, he can)
So it requires IT action, which can be pretty long (in ùany organization, it requires several weeks !!). And even with all of that,the users must be granted privilege to access database and the customer need to develop its own examples and write its own specific documentation.

Well, this is not efficient.


What I suggest is Alteryx to use one of embedded database for training support/one tool examples. SQLlite seems good, maybe a more analytics oriented (like DuckDB ) would be more efficient.
The requirement are, I think, the following :
-OpenSource and free
-Fast
-SQL compliant
-With a bulk load ability

Best regards,

Simon


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.

Hello,

It's nice to have this OpenAI Connector but it seems it must be the default OpenAI URL. In my company, we use OpenAI on an Azure instance and I'm unable to connect to it.

(by the way, I know pre-sales teams have developed lot of connectors for fireworks, mistral, etc.. it would be very cool to have it available).

Best regards,

Simon

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.

Hello,

I really would appreciate the ability to store our templates in a Teams/Sharepoint (or whatever exists) folder. However, it doesn't work today :

 

image.png

Best regards,

Simon

Hello,

Here is the proposal about an issue that I face frequently at work.

 

Problem Statement -

Frequent failure of workflows that have either been scheduled or run manually on server because the excel input file is sometimes open by another user or someone forgot to close the file before going out of office or some other reason. 

 

Proposed Solution - 

The Input/Dynamic Input tools to have the ability to read excel files even when it is open so that the workflows do not fail which will have a huge impact in terms of time savings and will avoid regular monitoring of the scheduled workflows.

 

 

Dynamic Input should either:

 

(a) have the option of merging files with different field schemas

 

(b) Return a list of rejected filepaths

 

One of the problems I have with using Alteryx is the frequent need to input a bunch of files, but a few have an extra/missing field. The extra/missing field is often unimportant to me, but it means that the dynamic input doesn't work.

Hello all,


As you all know, you can use API with the Alteryx Download tool. However, this tool is not that easy to configure.
On the other hand, the API world use a lot tools such as Postman  or Bruno (an open source clone) which allows easy test, debug... I use it everytime I had to work on a rest API and then I try to translate it to the final tool (such as the Alteryx Download tool). Both tools offer "collection", a set of request, and also environment configuration. Here are some examples on the project I'm working on :

 

image.png

 

image.png

image.png

And you can even get some code

image.png

I would like to leverage those collections in my download tool configuration, that would be quite easier to use !

Best regards,

Simon

Hello all,

Here the issue : I have a workflow in my One Drive folder
image.png


In that workflow, I use a macro that writes a file with a relative path (..\6_Big_Data\EN\.csv ) :


image.png

Strangely, it doesn't work and the error message seems to relate to a folder that doesn't exist (but also, not the one I have set)
image.png

ErrorLink: Output Data (1): https://community.alteryx.com/t5/*/*/ta-p/724327?utm_source=designer&utm_medium=resultsgrid|Cannot access the folder C:\Users\saubert\OneDrive - Business & Decision\Documents\B&D_Market\6_Big_Data\EN\.


I really would like that to work :)

Best regards,

Simon

Hello,

 

Could there be a way to explore the details of the results window by double-clicking on a value of the Browser profile?

Basically if the profile of a field in the Browser tells me that there are x records meeting that value, could they be selected by double-clicking on that value in the profile? A bit like when you explore the underpinning rows in a pivot table in Excel; if you want to see which records meet the criteria, you double-click on the value.

 

Genevieve_0-1749731805987.png

 

For example clicking twice either on the label or the count and the specific records would show.

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.

Top Liked Authors