Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

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

0 Likes

It would be a huge time saver if you had an option to unselect the fields selected and select the fields not selected in the Select tool.

0 Likes

Just ran into this today.  I was editing a local file that is referenced in a workflow for input.

 

When I tried to open the workflow, Alteryx hangs.

 

When I closed the input file, Alteryx finished loading the workflow.

 

If the workflow is trying to run, I can understand this behavior but it seems odd when opening the workflow.

 

0 Likes

@KuoL 

 

Yes, I know, it's weird to have a situation where a decision tree decides that no branches should be created, but it happened, and caused great confusion, panic, and delay among my students.

 

v1.1 of the Decision Tool does a hard-stop and outputs nothing when this happens, not even the succesfully-created model object while v1.0 of the stool still creates the model ("O") and the report ("R") ... just not the "I" (interactive report). Using the v1.0 version of the tool, I traced the problem down to this call:

 

dt = renderTree(the.model, tooltipParams = tooltipParams)

Where `renderTree` is part of the `AlteryxRviz` library.

 

I dug deeper and printed a traceback.

 

9: stop("dim(X) must have a positive length")
8: apply(prob, 1, max) at <tmp>#5
7: getConfidence(frame)
6: eval(expr, envir, enclos)
5: eval(substitute(list(...)), `_data`, parent.frame())
4: transform.data.frame(vertices, predicted = attr(fit, "ylevels")[frame$yval],
       support = frame$yval2[, "nodeprob"], confidence = getConfidence(frame),
       probs = getProb(frame), counts = getCount(frame))
3: transform(vertices, predicted = attr(fit, "ylevels")[frame$yval],
       support = frame$yval2[, "nodeprob"], confidence = getConfidence(frame),
       probs = getProb(frame), counts = getCount(frame))
2: getVertices(fit, colpal)
1: renderTree(the.model)

The problem is that `getConfidence` pulls `prob` from the `frame` given to it, and in the case of a model with no branches, `prob` is a list. And dim(<a list>) return null. Ergo explosion.

 

Toy dataset that triggers the error, sample from the Titanic Kaggle competition (in which my students are competing). Predict "Survived" by "Pclass".

0 Likes

Dear Team

 

If we are having a heavy Workflow in development phase, consider that we are in the last section of development. Every time when we run the workflow it starts running from the Input Tool. Rather we can have a checkpoint tool where in the data flow will be fixed until the check point and running my work flow will start from that specific check point input.

 

This reduces my Development time a lot. Please advice on the same.

 

Thanks in advance.

 

Regards,
Gowtham Raja S

+91 9787585961 

0 Likes

The error message is:

 

Error: Cross Validation (58): Tool #4: Error in tab + laplace : non-numeric argument to binary operator

 

This is odd, because I see that there is special code that handles naive bayes models. Seems that the model$laplace parameter is _not_ null by the time it hits `update`. I'm not sure yet what line is triggering the error.

0 Likes

 

The CrossValidation tool in Alteryx requires that if a union of models is passed in, then all models to be compared must be induced on the same set of predictors. Why is that necessary -- isn't it only comparing prediction performance for the plots, but doing predictions separately? Tool runs fine when I remove that requirement. Theoretically, model performance can be compared using nested cross-validation to choose a set of predictors in a deeper level, and then to assess the model in an upper level. So I don't immediately see an argument for enforcing this requirement.

 

This is the code in question:

if (!areIdentical(mvars1, mvars2)){
        errorMsg <- paste("Models", modelNames[i] , "and", modelNames[i + 1],
                          "were created using different predictor variables.")
        stopMsg <- "Please ensure all models were created using the same predictors."
      }

As an aside, why does the CV tool still require Logistic Regression v1.0 instead of v1.1?

 

And please please please can we get the Model Comparison tool built in to Alteryx, and upgraded to accept v1.1 logistic regression and other things that don't pass `the.formula`. Essential for teaching predictive analytics using Alteryx.

 

0 Likes

We are big fans of the In-Database Tools and use them A LOT to speed up workflows that are dealing with large record counts, joins etc.

This is all fine, within the constraints of the database language, but an annoyance is that the workflow is harder to read, and looks messy and complicated.

 

A potential solution would be to have the bottom half of the icon all blue as is, but the top half to show the originaling palette for that tool.

ie  Connect In-DB - Green/Dark Blue

Filter In-DB - Light Blue/Dark Blue

Join In-DB - Purple/Dark Blue

 

etc.

 

in-DB workflows would then look as cool as they are !

 

Thanks

dan

0 Likes

This would allow for a couple of things:

 

Set fiscal year for datasource to a new default.

 

Allow for specific filters on the .tde (We use this for row level security with our datasources).

 

Thanks

0 Likes

The Multi-Field Binning tool, when set to equal records, will assign any NULL fields to an 'additional' bin

e.g. if there are 10 tiles set then a bin will be created called 11 for the NULL field

 

However, when this is done it doesn't remove the NULLs from the equal distribution of bins across the remaining items (from 1-10).Assuming the NULLs should be ignored (if rest are numeric) then the binning of remaining items is wrong.

 

Suggestion is to add a tickbox in the tool to say whether or not NULL fields should be binned (current setup) or ignored (removed/ignored completely before binning allocations are made).

0 Likes

I've run into an issue where I'm using an Input (or dynamic input) tool inside a macro (attached) which is being updated via a File Browse tool. Being that I work at a large company with several data sources; so we use a lot of Shared (Gallery) Connections. The issue is that whenever I try to enter any sort of aliased connection (Gallery or otherwise), it reverts to the default connection I have in the Input or Dynamic Input tool. It does not act this way if I use a manually typed connection string.

 

Initially, I thought this was a bug; so I brought it to Support's attention. They told me that this was the default action of the tool. So I'm suggesting that the default action of Input and Dynamic Input tools be changed to allow being overridden by Aliased connections with File Browse and Action tools. The simplest way to implement this would probably be to translate the alias before pushing it to the macro.

0 Likes

Hello,

For those unfamiliar, static type checking in Python is a process that analyses your code without executing it, highlighting any potential errors such as type mismatches. An example of this is MyPy (https://github.com/python/mypy), this tool allows developers to easily address issues before runtime - which is a personal gripe of Python (and why I love Alteryx so much).

 

I believe that integrating static type checking, such as MyPy, into Alteryx Designer could vastly improve the users experience. A user of Alteryx Designer expects intuitive feedback - generally through the error red exclamation marks or messages, and this change should align the Python tool to the expected functionality.

 

 

0 Likes

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

0 Likes

as an analysis software. The result window plays a crucial role.
However, the numbers are not left-aligned, making it difficult to identify the number in the first grant.

and as most coding editor, monospace is recommend. it help to identify text length as well

Suggested Settings Adjustments:

1. Change of Font Type and Size: Include options for different fonts, including monospace.
2. Alignment: Provide options for left, right, and center alignment.

3. Option show whitespace

Screenshot 2024-12-03 102959.png

0 Likes

I would love to have the option to easily disable a section of the workflow while diverting around the disabled tools.

 

I know the Detour and Detour End tools exist, but I think this functionality could be improved.  My idea would be either/both of the following functions.

 

Break links between tools.  Think of a workflow as a circuit board and the connection paths between tools as parts of a circuit.  With every tool connected/enabled the full circuit is complete.  However, if there is a section of the workflow which is temporarily unneeded, it would be great to have the option to break the connection between tools and then reconnect at a later point to complete the circuit.  My idea would be to have the option on a line/path to break the connection temporarily (greying out the tools downstream) and enabling it further downstream.  It's similar to what the Detour and Detour End do, but without needing additional tools on the canvas

 

Everything enabled[ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ]
First and last enabled but links to 4 tools in the middle are broken, diverting around them with no other tools needed.[ tool ] ->( - )<- [ tool ] --/-- [ tool ] --/-- [ tool ] --/-- [ tool ] ->( + )<- [ tool ]

 

Alternatively, if you were to select the unneeded tools in the workflow and place them into a container, then disable it, it could skip those disabled tools without breaking the circuit.
[ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ] ---- [ tool ]

[ tool ] -><- [ tool ] --/-- [ tool ] --/-- [ tool ] --/-- [ tool ] -><- [ tool ]

 

0 Likes

Data Connections and Workflow Credentials are key part of migration process for workflows to Gallery.

They are provisioned for each user upon request.

When a developer leaves the organization, there is no easy way to identify all the Data Connections and Workflow Credentials assigned to that user.

Current options in the Gallery is for the Admin to browse through each Data Connection and Workflow Credential, navigate the Users tab and identify the list users. 

 

For a large organization with many Data Connections and Workflow Credentials it will hard to manage this since.

1. If the workflows change ownership, the new owner has to be given access to the Data Connections and Workflow Credentials.

2. Remove user access to the Data Connections and Workflow Credentials.

 

A Gallery page in Admin should include all Assets a user owns/has access to which includes the following. By selecting a user, the list should populate.

  1. Workflows
  2. Schedules
  3. Collections
  4. Data Connections
  5. Workflow Credentials

 

We have implemented a solution to capture this information by getting the details from MongoDB. Also an automated process where the list goes to the manager when a developer leaves the organization so that he can manage the assets by identifying a new owner for the assets.

 

In the new version, we have an easy way to change ownership of a workflow in Gallery. In the same manner other Assets also should be taken care.

0 Likes

Most tools do not result in record changes: Select Tool, Data Cleansing, Record ID, Formula, Auto Field, Multi Field/Row, etc.  It would be nice to be able to tell Alteryx which tools to display the Connection Progress; specifically the Record Counts.  It would reduce the clutter/noise and allow the Record Counts to only display for the tools that matter to the analyst/user.  Right now it displays for all tools regardless of whether the records changed or not.  My hope would be to tell Alteryx to only display the Record Counts for tools like: Input, Output, Filter, Join, Summarize, Crosstab, Unique, etc. and ignore all other tools.

0 Likes

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



0 Likes

The Predictive tools, such as Linear Regression, come with the Alteryx Predictive Tools download, which is in the Alteryx Designer license download option. You have to click Download, then click the radio button for the version you want and click next, then have to download the Alteryx Designer AND the Alteryx Predictive Tools. This has caused confusion - based on the name (Predictive Tools), many, including myself, thought that they would be a part of the Alteryx Intelligence Suite license; I didn't have that, so thought I couldn't use them. But it turns out that they aren't a part of the AIS license, but the regular Alteryx Designer license. I just had to go through that confusing process of downloading Alteryx Designer and Alteryx Predictive Tools. To help customers avoid confusion and make it simpler, it would be awesome to have a single option that would get me both (just having to download Alteryx Designer instead of Alteryx Designer AND Alteryx Predictive Tools).Alteryx Designer License.jpg

Alteryx Designer License Step 2.jpg

Alteryx Designer and Alteryx Predictive Tools.jpg

 

0 Likes

When jobs have run successfully in scheduler, retain a baseline average so when items are in the queue much longer than normal, an alert can be sent.

This will allow us to kill stuck jobs and free up resources.

0 Likes

Hi,

 

I appreciate this could be a repeat of this topic but I'm not able to find it easily if it is. 

 

I want to locate a column in my results window with a simple search functionality. I'd like to search for a column and then it'll present back to me potential columns that I could then select to move me to in the results window. It's painful with a lot of columns to keep scrolling to find the one you're after:

 

Screenshot 2024-11-11 135159.png

All the best,

BS