We have extended our Early Bird Tickets for Inspire 2023! Discounted pricing goes until February 24th. Save your spot!

Alteryx Designer Ideas

Share your Designer 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,

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

This idea has arisen from a conversation with a colleague @Carlithian where we were trying to work out a way to remove tools from the canvas which might be redundant, for example have you added a select tool to the canvas which hasn't been configured to change a data type or rename a field. So we were looking for ways of identifying in the workflow xml for tools which didn't have a configuration applied to them.

 

This highlighted to me an issue with something like the data cleanse tool, which is a standard macro.

 

The xml view of the data cleanse configuration looks like this:

<Configuration>
  <Value name="Check Box (135)">False</Value>
  <Value name="Check Box (136)">False</Value>
  <Value name="List Box (11)">""</Value>
  <Value name="Check Box (84)">False</Value>
  <Value name="Check Box (117)">False</Value>
  <Value name="Check Box (15)">False</Value>
  <Value name="Check Box (109)">False</Value>
  <Value name="Check Box (122)">False</Value>
  <Value name="Check Box (53)">False</Value>
  <Value name="Check Box (58)">False</Value>
  <Value name="Check Box (70)">False</Value>
  <Value name="Check Box (77)">False</Value>
  <Value name="Drop Down (81)">upper</Value>
</Configuration>

 

As it is a macro, the default labelling of the drop downs is specified in the xml, if you were to do something useful with it wouldn't it be much nicer if the interface tools were named properly - such as:

cgoodman3_0-1674658512759.png

So when you look at the xml of the workflow it's clearer to the user what is actually specified.

cgoodman3_1-1674658649253.png

 

 

 

Please add either or both

  1. "CustomFile/Database", similar to the TREE tool to the Text Box interface tool
  2. An option to make TREE Tool "silent" or passive when using the "CustomFile/Database" option

The purpose is to provide a better way to pass data, and thus allow "Action" tool to be used, from interface responses in a previous App chained to the current App.

 

Use Case:

We had a workflow with 8 TREE tools and 3 of them had significant number of rows associated.  This caused frequent failures where the queries getting the multiple layers of data for the TREE would time out.

Through trial and experiment we determined this was the issue by removing TREE tools until we had consistent function.

 

Most if not all the TREEs and all of the 3 offending TREEs were used to modify FILTER tools, in this case each of those 3 TREEs 3 or 4 Actions driving the same number of FILTERs

 

So we had to find a way to break up the operation.  Ultimately I separated the 3 large volume TREE tools into a separate workflow to run first and then CHAIN to the original flow with modifications to read the responses passed from the new 1st workflow in the chain and replaced the FILTER with JOINs, effectively filtering by JOIN.

 

This worked but was extra work and it made me think of the many other situations where I would like to take input from an external source and affect a FORMULA or FILTER or a few other tools where an ACTION is best/only way to modify tool configuration at run time.

 

I think this lack of a way to use an ACTION tool with a "Non-Interface" data source has probably limited the opportunities of Applications.

 

Given the division of labor in an APP,

  1. run all Interface tools first and modify config of other tools
  2. then run the rest of the tools on the canvas

there is no way to make a run time ACTION tool as it must do its job before the core job runs. 

 

This adaptation of the TREE tool, which is my preference, or the adaptation of the Text Box tool, offer good solutions that should be fairly simple to code and roll out the the user base.

Take this example macro

cgoodman3_0-1673727883220.png

I've build in a message on the tool to inform the user that the macro is set up in test mode. What this macro does is it will either filter the records based on a condition which the user provides in the macro configuration via a text input tool, for example Contains([Name],"Goodman") or they can select a check box to override the testing mode.

cgoodman3_1-1673728028730.png

 

What I want is the user to be notified when there is a filter condition being applied, so they can quickly identify where in the workflow data might not be the full dataset. At the moment this is achieved using the error tool, but due to be it being the error tool you are limited to only specifying the red !

 

Therefore my idea is to update the error tool to allow the user to specify additional indicators, such as a warning triangle, because the message I am displaying is actually a warning to the user. Additionally it would be great if you could provide custom images (for example a glass flask) to show it's in a test mode, like you can with the macro image tools.

 

 

0 Likes

The Input Data and Text Input Tools are visually distinct, so it's easy to see when a workflow is inputting live (File) or static (Text) data.

 

The Macro Input tool has the same appearance whether it's inputting a File or Text data, so you have to open the tool configuration to see whether it's inputting live (File) or static (Text) data. It would be great if there was a way to visually distinguish these two cases, perhaps even separating the macro tool into two tools, one for Files and one for Text.

 

Capture.PNG

 

When building out Alteryx workflows there may be a need to read in different ranges within the same Excel spreadsheet. For example bringing in a table from Sheet1, but also isolating a table name in a particular cell (in my example cell C8).

 

cgoodman3_0-1651072926555.png

 

When turning this into an analytic app, with a file browse is to add an action tool with the default value of "Update Input Data Tool".

cgoodman3_1-1651073022944.png

 

However when specifying this option within the analytic app interface, you are only allowed to chose one option of the following:

i) Select a sheet

ii) Select a sheet and specify a range

iii) a named range or

iv) a list of sheet names.

 

The problem is in the example above I need a sheet and a range, but I want to avoid adding two file browse interface tools as it shouldn't be needed. If the user selects (i) then it loses the reference to cell C8, but I would imagine a lot of users as they get started with apps don't realise this is what will happen.

 

There is however a way to solve this currently and it requires overwriting the default behaviour and configuring the second action tool (the one that updates the file for C8), to update value with a formula, where you assume the user would select sheet name and then use this formula:

 

replace([#1],"$`","$C8:C8`")

 

However I would argue that this has a lot of technical debt, plus if the user needs to modify where the header is, for example to D8 they need to change the input file and the action tool so it works as a workflow and an analytic app.

 

Solution

Like how the configuration options for the input file, such as which row to input data from or whether first row contains data is maintained, modify the behaviour of the default option in the action tool to maintain references to ranges.

 

 

The newest versions of Alteryx have the Designer Interface Calendar tool being very large when the app is run in Designer.  Anyway to give us the option to size it?  The old version was much more manageable from a development perspective when you have several of them on one screen.  Now you can barely fit 3 of them in one 23in screen.

I am running into unexpected functionality when utilizing the date interface tool in an Analytic App after upgrading to 21.3. Previously I was able to easily select dates in the past in the app interface by first selecting the Year, then the month, date, etc. After updating I am only able to see the prior and upcoming three months, which makes it difficult if you need to navigate back, say, 10 years. A ticket was put in they could not find when or why this change was made. This issue was brought up to our Designer SME group and they agreed that this isn't an improvement on the old design and is more cumbersome. They recommended posting to the Ideas page to bring back the old design.

I suggest Alteryx may add a new interface tool / enhance existing date interface tool to allow selection of time period.

 

For the output of the interface tool, i believe we can simply concatenate the text (e.g. 111030AM) and perform transformation by other Alteryx tool.

The interface can be something like this, multiple drop down box which order in a single row.

Alteryx-Time Interface tool.png

 

Although there is workaround of creating 4 drop down box, but the presentation on Analytic app and gallery is not good (those text box is separated into multiple line.

HMSUM_0-1641434718456.png

 

There are many circumstances when you have to build an interative macro where it's not just the iterating data set that needs to change every iteration, but also a second data set.

Think about this like a loop where two different variables are updated on every iteration, not just the control variable in the For xxx control variable.

 

The way that users work around this is to use a temporary yxdb file where instead of a macro input you input from the yxdb, and then write back to the same yxdb.    This allows you to pretend that you can adjust 2 different data sets on every cycle of the loop.    there are 4 downsides to this:
a) User complexity - this breaks the conceptual simplicity of macro inputs since now the users have to understand that in situation X I use macro inputs; and in situation Y I have to use some other type of tool.

b) Speed penalty - writing to disk is between 1000x slower and 1 000 000x slower than working with data in memory (especially if it's in cache) - so by forcing this to go through a yxdb file, you do incur a speed penalty which is just not needed

c) blocking penalty - Because of the fact that you can't write to a file that you're still reading from, you need to pepper this with Block until done tools - and you need to initialize the macro using a first write to the yxdb file outside the macro - which further hurts speed.    Given the nuanced behaviour of block-until-done, this also introduces user complexity issues

d) Self-contained - because you have to initialize these files outside the macro - the macro is no-longer self-contained and portable (which breaks the principle of Information Hiding which is a key pillar of good modular decoupled software design.

 

The other way that users work around this - is to serialize their entire second recordset into a field which then gets tacked onto the iterating data set using an iterative macro.   This is HIGHLY wasteful becuase then you have to build a serialize & deserialize process for this second recordset.    It fixes the speed and blocking penalites from above, but introduces a computational overhead which is generating no value; and makes this even more complex for users - and a further blocker to using macros.

 

 

Recommendation:

We could make this simpler by allowing users to create multiple pairs of macro input / macro outputs so that 2 or 3 or n different data sets can be updated with every iteration.

 

 

Below is a screenshot demonstrating this, from an Advent of code challenge - the details of the problem are not important - the issue at hand is that there are 2 record sets which both need to be updated on every iteration.

 

cc: @NicoleJohnson @Samanthaj_hughes @SteveA 

 

SeanAdams_0-1641333684845.png

 

When building iterative macros and debugging I tend to copy an paste the calculation part multiple times underneath to see what the status would be on iteration 2, 3, 4... However when there are multiple inputs to tools in the calculation steps, for example join tools or unions, then for each step it need re-connecting. 

Untitled drawing-8.png

 

So the idea is two fold

1) Allow the user to 'lock' an input so that when that tool is copied the upstream connection point is always the same, e.g. the R input for the join tool is automatically connected to the D input macro whenever that tool is copied

2) For iteration outputs, recognise that the select tool is connected to an iteration input so when it is copied it takes the iteration output as the upstream tool.

for example, the default filename is

 

FileA_P10.xlsx the P10 mean the month. and i want to give a freedom to user to amend or change the filename.  

 

hence, i put the interface text box to show the default text built by formula, but it only able to input text only.

 

from this > "FileA_P10.xlsx"

to this   >   "FileA_P" + datetimeformat(datetimetoday,"%m") + ".xlsx"

 

and it is better if it apply for other interface tool.

It would be really useful to select a default date for Date interface tools for the end user. Really useful in other interface tools and would save a lot of time in testing.

There needs to be a way to step into macro a which is component of parent workflow for debugging.

 

Currently the only way to achieve to debug these is to capture the inputs to the macro from the parent workflow, and then run the amend inputs on the macro. For iterative / batch macros, there is no option to debug at all. This can be tedious, especially if there are a number of inputs, large amounts of data, or you are have nested macros.

 

There should be an option on the tool representing the macro in the parent workflow to trigger a Debug when running the workflow, this would result in the same behavior when choosing 'Debug' from the interface panel in the macro itself: a new 'debug' workflow is created with the inputs received from the parent workflow.

 

On iterative / batch macros, which iteration / control parameter value the debug will be triggered on should be required. So if a macro returns an error on the 3 iteration, then the user ticks 'Debug' and Iteration = 3. If it doesn't reach the 3rd iteration, then no debug workflow is created.

Hi team, Can I have dropdown for Action tool link to container?

 

a: Check to disable, uncheck to enable

b. Check to enable, uncheck to disable

 

Pang_Hee_Choy_1-1633680290655.png

 

it was very confuse for me when i want to do a reverse way. it is good to if it able to apply to other interface.

 

 

As a best practice, I label a Control Parameter with the exact field name that I want to map to in the workflow. This takes any guesswork out of maintenance down the road. I want the macro questions to automap the labels to field names, just like a Join tool automaps the right side to the left when a field name is chosen from the left side drop down.

It would be very helpful if we could pick from a list of installed calgary datasets in the dropdown menu:

we currently have the ability to choose geocoder/drivetime/Allocate datasets which are typically stored in the .ini files, but don't currently have the ability to choose calgary datasets. 

jarrod_1-1628862282636.png

 

 

As a change to Designer UI in 2021.2, when in the filter box, I used to be able to use my mouse to click a little X in the corner to clear the filter or sort that had been implemented and it would immediately clear the filter.  It's not working as of 2021.2.  Now, I must navigate to the last cascade to get to the word Clear and click on it to clear the filter. 

This feels like another very tiny move in the wrong direction. These small UI changes cause 2 or 3 additional steps and slow the diagnostic/navigation process in moving around the Results Grid in the Browse Tool or at any point in the flow where the Results Grid is used.

Can the X in the top level of the Filter/Sort box in the Results Grid be restored in 2021.2?

 

Drvt6713_0-1626981721300.png

Related to submission:

Small fix for the UI in the Results Grid (or Browse Tool)

Small Keyboard fix for the browse tool's filter

0 Likes

As a change to Designer UI in 2021.2, when in the filter box, I used to be able to use my mouse to Paste in the value and then hit enter/apply to apply the filter.  It's not working as of 2021.2.  Now, if I hit paste from my mouse, it just closes the Filter box and applies nothing.  It forces me to have to change between mouse and keyboard as that is the only way to paste a value into the filter value box (CTRL-V). 

This feels like another very tiny move in the wrong direction. These small UI changes cause 2 or 3 additional steps and slow the diagnostic/navigation process in moving around the Results Grid in the Browse Tool or at any point in the flow where the Results Grid is used.

Can mouse functionality be restored in 2021.2?

 

Drvt6713_0-1626980827262.png

 

Related to submission: 

Small Keyboard fix for the browse tool's filter 

from  

I will start off with a story. I have built a process to manage batch API requests. It's an iterative process that checks to see where the export is at by calling an API and then returning some status. It will run and wait and run and wait until the export is ready to be downloaded. However sometimes, the jobs don't finish and a status returns something like "failed" or "cancelled". When this is the case, I have my process (which is a little bit batch macro) kicks off an error message, using the nifty error message tool. After some time I noticed that it was a PAIN to go back and figure out which of my requests failed and I decided that I need to add some messaging around where this was failing, so I could do some easy auditing. So I go back into my tool and much to my chagrin, I cannot pass variables into the message section. I would expect it to have worked something like this:

 

"Record "+[#2]+" is not 'A'"

 

Can we please get a change to this. It would save a lot of time and energy if we could create a dynamic error message option.

 

TL;DR Please allow us to use formulas in the "If expression is true, display error message:" settings area.

Top Liked Authors