The Product Idea boards have gotten an update to better integrate them within our Product team's idea cycle! However this update does have a few unique behaviors, if you have any questions about them check out our FAQ.

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

I would really love to have a tool "Dynamic change type" or "Dynamic re-type" which is used just as "Dynamic Rename".

 

  • "Take Type from First Row of Data": By definition, all columns are of a string type initially. Sets the type of the column according to the string in the first row of data.
    Col 1Col 2Col 3Col 4
    DoubleInt32V_StringDate
    123.45617Hello2023-10-30
    3.4e17123Bye2024-01-01
  • "Take Type from Right Input Metadata": Changes the types of the left input table to the ones by right input.
  • "Take Type from Right Input Rows": Changes the types based on a table with columns "Name" and "New Type".
    NameNew Type
    Col 1Double
    Col 2Int32
    Col 3V_String
    Col 4Date

Sometimes, Control Containers produce error messages even if they are deactivated by feeding an empty table into their input connection.

 

screenshot_error_in_spite_control_container_deactivated.png

(Note that this is a made up example of something which can happen if input tables might be from different sources and have different columns so that they need separated treatment.)

 

According to the product team, this is expected behaviour since a selection does not allow zero columns selected. This might be true (which I doubt a bit), but it is at least counter-intuitive. If this behaviour cannot be avoided in total, I have a proposal which would improve the user experience without changing the entire workflow validation logic.

(The support engineer understands the point and has raised a defect.)

 

Instead of writing messages inside Control Containers directly to the log output (on screen, in logfile) and to mark the workflow as erroneous, I propose to introduce a message (message, warning, error) stack for tools inside Control Containers:

  1. When the configuration validation is executed:
    1. Messages (messages, warnings, errors) produced outside of Control Containers are output to the screen log and to the log files (as today).
    2. Messages (messages, warning, errors) produced inside of Control Containers are not yet output but stored in a message stack.
  2. At the moment when it is decided whether a Control container is activated or deactivated:
    1. If Control Container activated: Write the previously stored message stack for this Control Container to the screen and to the log output, and increase error and warning counts accordingly.
    2. If Control Container deactivated: Delete the message stack for this Control Container (w/o reporting anything to the log and w/o increasing error and warning count).

This would result in a different sequence of messages than today (because everything inside activated Control Containers would be reported later than today). Since there’s no logical order of messages anyways, this would not matter. And it would avoid the apparently illogical case that deactivated Control Containers produce errors.

As an international organization we deal with clients in multiple-countries.

 

Name matches for names including Chinese characters generate a unicode conversation warning and are excluded from the fuzzy match.

 

It would be good if fuzzy match could be enhanced to handle Chinese characters.

Currently when debug mode is entered in analytic apps and macros, the direct inputs to the app/macro when the error occurred are hardcoded into a workflow in debug mode, so that errors can be more easily detected.

 

However, inputs into analytic apps also create global variables which can be used in the more code-heavy aspects of Alteryx such as the Formula Tool. These are not updated in the same way which can cause workflows to break in debug mode - it would be really helpful if global variables could be updated in the same way as the inputs into tools are.

When creating a connection using DCM (example being ODBC for SQL) - the process requires an ODBC Data Source Name (see screenshot 1 below).

However, when you use the alias manager (another way to make database connections) - this does allow for DSN-free connections which are essential for large enterprises (see screenshot 2 below).    

 

NOTE: the connection manager screens do have another option - Quick Connect - which seems to allow for DSN-free connections, but this is non-intuitive; and you're asked to type in the name of the driver yourself which seems to be an obvious failure point (especially since the list of all installed drivers can be read straight from the registry)

 

Please could we change DCM to use the same interfaces / concepts as the alias screens so that all DCM connections can easily be created without requiring an ODBC DSN; and so that DSN-free connections are the default mode of operation?

 

 

 

Screenshot 1: DCM connection:

SeanAdams_0-1685360285460.png

 

screenshot 2

SeanAdams_2-1685360473900.png

 

cc: @wesley-siu  @_PavelP @ToddTarney 

 

 

Hi currently if you use the cross tab tool and the names of the new fields should have special characters they end up being replaced in the new headers with underscores "_", and then need to be updated in someway. It would be great if this was all done in the tool. In other words the new headers have the special characters as desired

Hello,

A few years ago, Alteryx was 4 released per year and now it's only 2 per year (in 2023, as of today, only one !!)

The reasons why I would the cadence to be back to quarter release :

-a quarter cadence means waiting less time to profit of the Alteryx new features so more value

-quarter cadence is now an industry standard on data software.

-for partners, the new situation means less customer upgrade opportunities, so less cash but also less contacts with customers.

Best regards,

Simon

Is it possible to add a search feature to the Summarize Tool that is similar to the search feature in the Select Tool?  Selecting specific fields to summarize in small datasets is fine, but if I am dealing with a table that has 200 fields searching for a specific field can be cumbersome.  Type in a few key letters to filter the available fields would be helpful.

In short:
Add an option to cache the metadata for a particular tool so that it doesn't forget when using tool that have dynamic metadata such as batch macros or alteryx metadata engine can't resolve such as python tool.

 

 

Longer explanation:

The Problem:

One of the issues I often encounter when making dynamic workflows or ones that require calling external services is that Alteryx often forgets the metadata of what columns to expect. This causes the workflow to forget configuration of downstream tools when a workflow is first opened or when the metadata engine refreshes. There is currently the option to disable the metadata engine from automatically refreshing but this isn't a good option because you miss out on much of the value it brings.

 

Some of the common tools where I encounter this issue:

  • Json parse
  • Batch macros
  • Python tool
  • Regex parsing to rows

 

Solution:

Instead could we add an option to cache the metadata for a particular tool, this would save the metadata from the last time the workflow ran to within the workflows XML so that it persists when closed and reopened. Then when the metadata engine runs when it gets to this tool instead of resolving the metadata from the tool it instead uses the saved version in the XML. Obviously when it actually runs it would ignore this and any errors would still occur.

 

This could be an option in navigation pane of each tool. Mockup below:

Mockup.png

 

 

 

This would make developing dynamic workflows far easier and resolve issues of configuration being lost when the metadata changes and alteryx forgets the options.

Changing the Macro Input tool in an existing macro is dangerous and can result in unmapped fields or lost connections in workflows using the macro. For example, we have a widely used macro for which we'd like to change the name of an input field, change it's default type from Date to DateTime, make it optional while keeping other fields mandatory. Currently, we cannot find a solution which would not require us to fix each workflow using the macro after changing it. We should be able to change the field names, field types (e.g. String to V_WString, Date to DateTime), select optional fields and do other modifications to Macro Input without having to update each workflow using the macro. The new Macro Input UI could be enhanced with a window similar to that of Select tool's. Technically, the Macro Input fields could have a unique ID by which they would be recognised in workflows, so the field names would just be aliases that could be changed without losing the mapping. In summary, we are restricted to our initial setup of Macro Input and it is very complicated to change it afterwards, especially if the macro is used widely.

Just like there is search bar for Select Tool, there should be one for Data Cleansing tool also.

Hello all,

 

A few weeks ago Alteryx announced inDB support for GBQ. This is an awesome idea, however to make it run, you should use Oauth2 Authentication means GBQ API should be enabled. As of now, it is possible to use Simba ODBC to connect GBQ. My idea is to enhance the connection/authentication method as we have today with Simba ODBC for Google BigQuery and support inDB. It is not easy to implement by IT considering big organizations, number of GBQ projects and to enable API for each application. By enhancing the functionality with ODBC, this will be an awesome solution.

 

Thank you for voting

Albert

When I import an Excel file in to Alteryx I get an error: “shared strings root=x:sst” and Alteryx cannot read the file.

I can work around this by manually opening and saving the excel before importing it into Alteryx but this is not ideal, especially considering the automation implications.

I believe this may be happening because the XLSX generated by the source of the report has a prefix “x:” in all the tags in the Shared String XML embedded in Excel. See: https://learn.microsoft.com/en-us/office/open-xml/working-with-the-shared-string-table 

Essentially, it would appear Alteryx is not able to read generated Excel sheets which has the prefix "x:" (e.g. from a bot). The second file which has been opened and saved in Excel manually can be read by Alteryx correctly.

 

Example of file as exported from ”BOT”:

PDempsey_0-1685619453716.jpeg

 

How the same file looks once it is manually opened and saved:

PDempsey_1-1685619453721.jpeg

Ideally Alteryx would read the file as is, i.e. with the "X:SST" tag seen above as having to manually open and save the excel before it can be read is rather clunky.

 

Thanks!

Hello All,

 

I'm using the dynamic input tool for SQL requests in my Workflow (WF).

I'm using the "Replace a Specific String" to replace elements in the SQL statement dynamically depeding on results of prevoius tools, user input etc.

So the statement looks like

select * from Schema_Name_xx where invoice_number = 'invoice_number_xx'

 

Since Schema_Name_xx is no valid Schema in the Database, the statement (= Validation) won't work. Only if I replace Schema_Name_xx by e.g. Invoice_Data_Current it will work, same with the invoice number, invoice_number_xx is replaced by e.g. 4711.

Therefore, validation makes no sense and will never work, only if the WF is running, the correct Schema is inserted in the SQL statement by the "Replace a Specific String" function.

It would be great to disable it in the users settings or wherever in the Designer, changing a config file would also be great :-)

Pls. note: I'm thinking (since I'm not allowed anyway ;-)) about changing/disabeling anything in the Alteryx Server settings.

 

Reason:

1. Speed: Validating a WF with SQL statements that don't work takes time (every time I save it), sometimes I get even a timeout...

2. WF error entries: Each upload with a  failed validation creates an entry in the WF result list which makes it harder to seperate them from the "real" WF errors...

 

Thanks & Best Regards,

Thomas

This is a hybrid idea related to both posts regarding dynamic tool configuration during runtime / without having to run an analytic app.

 

What I would like to propose is a new optional connection type for the interface tools that can be updated with incoming connections (having a Q letter with white background), namely Drop Down, List Box, Tree and Map tools. This could be a simple R letter in a square for example, which would be located to the left of the incoming question anchor.

 

Use Case

 

Imagine an app where there are two control containers and three interface tools (Action tools excluded from the count) outside those containers, one of them is a Text Box connected to a filter tool (via an Action tool) in the first control container with the purpose of limiting the dataset by specifying a city for example, another one is a Numeric Up Down for limiting the dataset by the average transaction amounts that are greater than the specified amount. These two interface tools are contained in a Group Box in the Interface Designer.

 

The third interface tool is a Drop Down tool which obtains the values (which will be Store Name for this example) from the results of the Select tool (in the second control container that is connected to the output anchor of the first control container) that is connected to an incoming filter tool which is modified by the previously mentioned interface tools. Output anchor of this Select tool is connected to the hypothetical R anchor on the top of the Drop Down tool, which is then connected to an outgoing filter tool that is connected to a series of tools which ends with a Browse tool that displays basic KPI information for the store specified from the Drop Down tool.

 

The main difference of the R (Refresh) anchor from the Q anchor is that it will enable the user to dynamically update the incoming values (i.e., choices for a drop down tool) without having to run the workflow. Alteryx Designer will automatically execute only the tools necessary to be able to update the values (up to a certain point of the workflow only, which may also be indicated by the boundaries of the control containers containing the target tool) for the R anchor connected applicable Interface tools specified above. This will be possible by clicking the hypothetical confirm button (same appearance with the Apply Data Manipulations button) which only appears next to the Interface tools (or the Group Boxes containing them instead) that are automatically determined by Alteryx Designer to be providing downstream data to the the tools (T anchor of the Filter tool for example) sending values to the applicable Interface tools having an incoming R anchor connection.

 

I saw that a similar feature recently became available with Alteryx Analytics Cloud Platform with the App Builder product, and I think that Alteryx Designer Desktop could definitely benefit both from this feature and additional App Builder features (that can be adapted to Desktop counterpart) in the upcoming releases.

Hello All,

 

I believe there needs to be a new tool added to Alteryx. I am frequently encountering cases where I will have 0 data point feeding a workflow stream that causes my workflows to fail. Because of this, I am having to put in fail safes to keep this from happening.

 

There should be a tool that if there is no records that are passing into it, anything after that tool will not fail.

 

For an example, within a workflow I am using a dynamic input that will pull a dynamic file. The file is not always there and the workflow should be able to run if that file is there or not. If the dynamic tool and other tools would process 0 records without failing this would also solve the issue. 

 

I would be nice to have a tool that will  block off the work stream if there are 0 records passing through the tool. 

It would be very helpful to have an output of the workflow into a step by step document. so someone who does not have access to Alteryx can undestand the steps taken to create the flow hence the result or output.

Please consider implementing a consistent case-sensitive option for all tools and functions.

 

To compare string values, including case-sensitivity:   This post had a good description of the challenge, but the post has been archived:

   https://community.alteryx.com/t5/Alteryx-Designer-Discussions/IF-equation-ignoring-case-BUG/m-p/4170...

   For all the time I've used Alteryx, I thought that IF "test" = "TEST" would evaluate to false. Today I realised that isn't the case and I was surprised. I'm very surprised that "equals" performs like it does.

 

A few existing Ideas request case-sensitivity for individual tools:

   Case insensitive option while joining two data sets
   https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Ideas/Case-insensitive-option-while-joinin...

 

   Unique tool enhancement - deal with case sensitive data
   https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Ideas/Unique-tool-enhancement-deal-with-ca...

 

 

This new Idea requests system-wide consideration for case-sensitivity, for all tools and functions.

 

Current state:

 

These tools and functions are case-sensitive:

  • Tool: Join
  • Tool: Tile
  • Function: FindString
  • Functions: MD5_ASCII, MD5_UNICODE, MD5_UTF8

These tools and functions are NOT case-sensitive:

  • Tool: Unique
  • Function: CompareDictionary

These tools and functions can be either case-sensitive or NOT case-sensitive, depending on the options used:

  • Function: Contains
  • Function: EndsWith
  • Function: StartsWith
  • Functions: REGEX_Match, REGEX_Replace, REGEX_CountMatches

Current Challenges:

   How do we easily identify Lower Case, Upper Case, Mixed Case?

   How do we easily compare strings for equality, using case sensitivity?

 

Request:

   Ensure all tools and functions include an option to ignore or consider Case

   Create new functions for IsUpperCase, IsLowerCase, IsMixedCase

   Create a new function for IsEqual, with an option to ignore or consider Case

 

See attached workflow, which

  • uses REGEX_Match to create 3 new fields: IsUpperCase, IsLowerCase, IsMixedCase
  • creates a field [Flag: Original value IsEqual, case-sensitive], to compare strings for equality, using case sensitivity

 

Hi all,

 

At present, Alteryx does not support DSN-free connections to Snowflake using the Bulk Connector.    This is a critical functionality for any large company that uses Alteryx - and so I'm hoping that this can be changed in the product in an upcoming release.    As a corollary - every DB connection type has to be able to work without DSNs for any medium or large size server instance - so it's worth extending this to check every DB connection type available in Alteryx.

 

Here are the details:

 

What is DSN-Free?

In order to be able to run our Alteryx canvasses on a multi-node server - we have to avoid using DSNs - so we generally expand connection strings that look like this:

odbc:DSN=DSNSnowFlakeTest;UID=Username;PWD=__EncPwd1__|||NEWTESTDB.PUBLIC.MYTESTTABLE

 

to instead have the fully described connection string like this:
odbc:DRIVER={SnowflakeDSIIDriver};UID=Username;pwd=__EncPwd1__;authenticator=Snowflake;WAREHOUSE=compute_wh;SERVER=xnb27844.us-east-1.snowflakecomputing.com;SCHEMA=PUBLIC;DATABASE=NewTestDB;Staging=local;Method=user

 

For Snowflake BL:

Now - for the Snowflake Bulk Loader the same process does not work and Alteryx gives the classic error below

 

With DSN:

snowbl:DSN=DSNSnowFlakeTest;UID=Username;pwd=__EncPwd1__;Staging=local;Method=user|||NEWTESTDB.PUBLIC.MYTESTTABLE

 

Without DSN:

snowbl:driver=SnowflakeDSIIDriver;UID=SeanBAdamsJPMC;pwd=__EncPwd1__;SERVER=xnb27844.us-east-1.snowflakecomputing.com;WAREHOUSE=compute_wh;SCHEMA=PUBLIC;DATABASE=NewTestDB;Staging=local;Method=user|||NEWTESTDB.PUBLIC.MYTESTTABLE

 

Output Data (6) Error SQLDriverConnect: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" which indicates that the driver details may be wrong

 

 

Many thanks

Sean

Hi, I was looking for this but couldn't find a similar idea, so I post a new one. If someone knows about a similar idea, please ask the moderators to mer

 

CountChars(<String>, <char to count>,<case sensitive>)

 

Where <char to count> and <case sensitive> are optional parameters.

If <char to count> is not provided, the funtion will return the total character count within the <String>.

If <char to count> is provided, it'll return the number of ocurrences of that character within the <String>.

 

PS: For those tempted to suggest a workaround, I've been using REGEX_CountMatches() for this. Actually, the focus is to simplify user's experience and workflow performance providing a native function, instead of using REGEX which it's very demmanding on resources.

Top Liked Authors