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

One of the tools that I use the most is the SELECT tool because I normally get large data sets with fields that I won't be using for a specific analysis or with fields that need re-naming. In the same way, sometimes Alteryx will mark a field in a different type than the one I need (e.g. date field as string). That's when the SELECT comes in handy.

 

However, often times when dealing with multiple sources and having many SELECT tools on your canvas can make the workflow look a little "crowded". Not to mention adding extra tools that will need later explanation when presenting/sharing your canvas with others. That is why my suggestion is to give the CONNECTION tool "more power" by offering some of the functionality found in the SELECT tool.

 
Select Tool 2.png

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

For instance, if one of the most used features of the SELECT tool is to choose the fields that will move through the workflow, then may be we can make that feature available in the CONNECTION tool. Similarly, if one of the most used features (by Alteryx users) is to re-name fields or change the field type, then may be we can make that available in the CONNECTION tool as well.

 

Select Tool.png

 

At the end, developers can benefit from speeding up workflow development processes and end-users will benefit by having cleaner workflows presented to them, which always help to get the message across.

 

 

What do you guys think? Any of you feel the same? Leave your comments below.

It would be great if we could have a Windows Active Directory data connector tool added to the standard Alteryx toolset.

 

MS Excel Power Query and PowerBI both can connect to Active Directory for use as a data source, but are both very cumbersome to use.  Having a connector in Alteryx that can read AD data into a workflow would be super helpful for a long list of use cases.  A couple that are top of mind for me are:

 

-Leveraging group membership info for dynamic distribution of reports or datasets

-Being able to build reporting and dashboards about the organization (useful for Tech audit, HR, etc.) 

 

I've seen links to an old project on GitHub of someone that started development on this, but the method (just copy these random .dlls into your program directory) is seriously frowned upon by any enterpise IT.  Would be great if Alteryx could pick up that work, polish it a bit and add it to the actual Alteryx Designer toolset.

 Hi!

 

I opened up WorkflowA and WorkflowB.  Later, I went to Windows Explorer, and clicked open WorkflowA, because I wanted to make another change in it.  Not realizing that it was already open, I inadvertently forked WorkflowA into two versions.

 

It is desireable to be able to open a workflow twice.  Say, I made several changes and wanted to compare that to the original. However, it would be nice if Alteryx produced a warning saying that the workflow has already been opened.  In my case, WorkflowA was pretty complicated, and I don't know if I "un-forked" the workflow correctly.  A notice would have prevented this scenario, which has happened to me multiple times.

 

Thank you,

 

Joe Kelly

I was trying to download zipped text files from Amazon S3 Bucket using Amazon S3 Download Tool.

Unfortunately the tool allows you to choose between csv, dbf and yxdb files and there is no option to select Zipped Text.

It will be very useful if this feature can be provided as most of files available on S3 are large files and are generelly in Zipped format.

 

I love the dynamic rename tool because quite often my headers are in the first row of data in a text file (or sometimes, Excel!).

 

However, whenever I open a workflow, I have to run the workflow first in order to make the rest of the workflow aware of the field names that I've mapped in the dynamic rename tool, and to clear out missing fields from downstream tools. When a workflow takes a while to run, this is a cumbersome step.

 

Alteryx Designer should be aware of the field names downstream from the dynamic rename tool, and make them available in the workflow for use downstream as soon as they are added (or when the workflow is initially opened without having been run first).

Hi,

     I would like to see Global Variable being made available in Alteryx. I have seen the Global Constant being made available under Workflow "User" configuration. But this is constant and needs to be defined at Design time.

How about a Process Id that needs to be auto genearted and the same needs to be available across the formula tools used with in the workflow.

Hi,

        I would like to have something similiar to in SSIS called as Sequence Container implemented in Alteryx. A sequence container would ensure that the process flows in a particular order. Lets say I would like to read 3 different files having different schema each and I want to read/validated it in particular order. I don't see any tool that would help me do this.

 

Normally I have no issue with the splash screen but I've found with analytic apps that the splash covers up the App dialogue box.

 

I'm aware that you can click on it to hide it but having the option to disable it (even just for apps) would be great.

The Delete and connect around in the right click menu is really nice for not having to go find the connector and re plug it in. I would ask that there is essentially the same option when cutting a tool. When the tool is cut the data path is uneffected. Also, it would be nice to be able to right click(or left click and ctrl+v) on a data path and paste the tool directly in, instead of having to paste then connect everything back up. Lastly, I often find myself pulling out the wrong tool/wanting to replace a tool with another. I think it would be nice to have the option of dropping a toll directly onto another to replace it. Again connecting drectly into the data path.

Currently with Alias Manager you can only create Aliases for database connections. 

 

We use HDFS Connections to write files to HDFS so it would be really useful to use an Alias especially when promoting workflows to Alteryx Server. 

Hi Folks

 

So have been using the fuzzy match function quite a bit of recently. Love the tool, however it could benefit form being able to wire in a list of 'Don't generate' keywords. 

At the moment we can enter them manually, however where for example i might want to exclude city or area names etc... from the do not generate list this becomes quite a tedious manual entry task, so being able to load in keyword data from pre-existing lists etc.. would be a time saver. 

 

Cheers

 

Gavin

 

 

I would like to see some functionality that would allow the user to select a specific tool(s) and run them. It looks like the workflow caches data at each tool so it should be doable to make it where i can run a specific tool from any point.

 

I know for me, i often run my new workflow and have forgotten a browse somewhere then have to add it and run the whole thing. Instead it would be ideal to be able to insert my browse like normal and select the tool before that browse and run just that one.

 

Do you guys think this would also be a useful capability?

It seems that I'm unable to use my mouse wheel to scroll through or "Control + A" to select all in the "Table or Query" field of the "Connect In-DB" tool.  I have to click the top of it and drag down the text to highlight it all.

QuikPick.png

I often go betwen the favorites group and other groups of tools I'm using but might not be considered favorites.  It would be nice if there was a way for a user to put the their most commonly used tools in a ribbon bar on the top near the run button?  The user could quickly grab and drag that tool to the canvas.  IT wouldn't replace the favorites but be an addition to favorites.  What do people think?  Useful or redundant?  Interested to hear what people say.

 

Thanks!

 

 

 

It would be great if you can add a function "eval". This would be similar to R or access where you would pass a string to the eval function and it would then evaluate the string. My made up use case would be something like this: I have 1 Million rows of data with 20 fields. The first 10 are value1, value2...value10, and the second 10 are value1_right, value2_right....value10_right. I would like to replace valuex with valuex_right if valuex is null. With a multifield formula tool selected I could write something like this with value1-10 selected: eval("IIF(ISnull([_CurrentField_]),["+[_CurrentFieldName_]+"_right],[_CurrentField_])"). Thanks!

How about turning this;

SELECT * 
FROM Employee
ORDER BY First_name ASC

into this automatically

Picture1.png

and a more complex one

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID; 

into this

Picture2.png

basically it's a parser;

 

1) First check if it's a MS SQL, PL/SQL or T/SQL

2) Then figure out join relationships

3) Convert each subset SQL into function nodes

4) Convert function nodes to Alteryx yxmd (xml)

 

Creates the following for the first workflow

<?xml version="1.0"?>
<AlteryxDocument yxmdVer="10.5">
  <Nodes>
    <Node ToolID="1">
      <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
        <Position x="174" y="90" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <OrderChanged value="False" />
          <SelectFields>
            <SelectField field="*Unknown" selected="True" />
          </SelectFields>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
    </Node>
    <Node ToolID="2">
      <GuiSettings Plugin="AlteryxBasePluginsGui.Sort.Sort">
        <Position x="246" y="90" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <SortInfo locale="0">
            <Field field="FIRST_NAME" order="Ascending" />
          </SortInfo>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText>FIRST_NAME - Ascending</DefaultAnnotationText>
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSort" />
    </Node>
    <Node ToolID="4">
      <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
        <Position x="90" y="90" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <NumRows value="0" />
          <Fields>
            <Field name="FIRST_NAME" />
          </Fields>
          <Data />
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
    </Node>
    <Node ToolID="13">
      <GuiSettings Plugin="AlteryxBasePluginsGui.BrowseV2.BrowseV2">
        <Position x="330" y="90" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <Layout>
            <View1>
              <Hints>
                <Table />
              </Hints>
            </View1>
          </Layout>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxBrowseV2" />
    </Node>
  </Nodes>
  <Connections>
    <Connection>
      <Origin ToolID="1" Connection="Output" />
      <Destination ToolID="2" Connection="Input" />
    </Connection>
    <Connection>
      <Origin ToolID="2" Connection="Output" />
      <Destination ToolID="13" Connection="Input" />
    </Connection>
    <Connection>
      <Origin ToolID="4" Connection="Output" />
      <Destination ToolID="1" Connection="Input" />
    </Connection>
  </Connections>
  <Properties>
    <Memory default="True" />
    <GlobalRecordLimit value="0" />
    <TempFiles default="True" />
    <Annotation on="True" includeToolName="False" />
    <ConvErrorLimit value="10" />
    <ConvErrorLimit_Stop value="False" />
    <CancelOnError value="False" />
    <DisableBrowse value="False" />
    <EnablePerformanceProfiling value="False" />
    <DisableAllOutput value="False" />
    <ShowAllMacroMessages value="False" />
    <ShowConnectionStatusIsOn value="True" />
    <ShowConnectionStatusOnlyWhenRunning value="True" />
    <ZoomLevel value="0" />
    <LayoutType>Horizontal</LayoutType>
    <MetaInfo>
      <NameIsFileName value="True" />
      <Name>New Workflow1</Name>
      <Description />
      <RootToolName />
      <ToolVersion />
      <ToolInDb value="False" />
      <CategoryName />
      <SearchTags />
      <Author />
      <Company />
      <Copyright />
      <DescriptionLink actual="" displayed="" />
    </MetaInfo>
    <Events>
      <Enabled value="True" />
    </Events>
  </Properties>
</AlteryxDocument>

and for the second example with joins...

<?xml version="1.0"?>
<AlteryxDocument yxmdVer="10.5">
  <Nodes>
    <Node ToolID="1">
      <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
        <Position x="126" y="54" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <OrderChanged value="False" />
          <SelectFields>
            <SelectField field="*Unknown" selected="True" />
          </SelectFields>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
    </Node>
    <Node ToolID="2">
      <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
        <Position x="54" y="54" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <NumRows value="0" />
          <Fields>
            <Field name="CustomerID" />
            <Field name="OrderID" />
            <Field name="CustomerName" />
            <Field name="OrderDate" />
          </Fields>
          <Data />
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
    </Node>
    <Node ToolID="3">
      <GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
        <Position x="126" y="198" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <OrderChanged value="False" />
          <SelectFields>
            <SelectField field="*Unknown" selected="True" />
          </SelectFields>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
    </Node>
    <Node ToolID="4">
      <GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
        <Position x="54" y="198" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <NumRows value="0" />
          <Fields>
            <Field name="CustomerID" />
          </Fields>
          <Data />
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
    </Node>
    <Node ToolID="5">
      <GuiSettings Plugin="AlteryxBasePluginsGui.Join.Join">
        <Position x="222" y="126" />
      </GuiSettings>
      <Properties>
        <Configuration joinByRecordPos="False">
          <JoinInfo connection="Left">
            <Field field="CustomerID" />
          </JoinInfo>
          <JoinInfo connection="Right">
            <Field field="CustomerID" />
          </JoinInfo>
          <SelectConfiguration>
            <Configuration outputConnection="Join">
              <OrderChanged value="False" />
              <SelectFields>
                <SelectField field="Right_CustomerID" selected="True" rename="Right_CustomerID" />
                <SelectField field="*Unknown" selected="True" />
              </SelectFields>
            </Configuration>
          </SelectConfiguration>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxJoin" />
    </Node>
    <Node ToolID="6">
      <GuiSettings Plugin="AlteryxBasePluginsGui.BrowseV2.BrowseV2">
        <Position x="294" y="126" />
      </GuiSettings>
      <Properties>
        <Configuration>
          <Layout>
            <View1>
              <Hints>
                <Table />
              </Hints>
            </View1>
          </Layout>
        </Configuration>
        <Annotation DisplayMode="0">
          <Name />
          <DefaultAnnotationText />
          <Left value="False" />
        </Annotation>
      </Properties>
      <EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxBrowseV2" />
    </Node>
  </Nodes>
  <Connections>
    <Connection>
      <Origin ToolID="1" Connection="Output" />
      <Destination ToolID="5" Connection="Left" />
    </Connection>
    <Connection>
      <Origin ToolID="3" Connection="Output" />
      <Destination ToolID="5" Connection="Right" />
    </Connection>
    <Connection>
      <Origin ToolID="2" Connection="Output" />
      <Destination ToolID="1" Connection="Input" />
    </Connection>
    <Connection>
      <Origin ToolID="4" Connection="Output" />
      <Destination ToolID="3" Connection="Input" />
    </Connection>
    <Connection>
      <Origin ToolID="5" Connection="Join" />
      <Destination ToolID="6" Connection="Input" />
    </Connection>
  </Connections>
  <Properties>
    <Memory default="True" />
    <GlobalRecordLimit value="0" />
    <TempFiles default="True" />
    <Annotation on="True" includeToolName="False" />
    <ConvErrorLimit value="10" />
    <ConvErrorLimit_Stop value="False" />
    <CancelOnError value="False" />
    <DisableBrowse value="False" />
    <EnablePerformanceProfiling value="False" />
    <DisableAllOutput value="False" />
    <ShowAllMacroMessages value="False" />
    <ShowConnectionStatusIsOn value="True" />
    <ShowConnectionStatusOnlyWhenRunning value="True" />
    <ZoomLevel value="0" />
    <LayoutType>Horizontal</LayoutType>
    <MetaInfo>
      <NameIsFileName value="True" />
      <Name>New Workflow1</Name>
      <Description />
      <RootToolName />
      <ToolVersion />
      <ToolInDb value="False" />
      <CategoryName />
      <SearchTags />
      <Author />
      <Company />
      <Copyright />
      <DescriptionLink actual="" displayed="" />
    </MetaInfo>
    <Events>
      <Enabled value="True" />
    </Events>
  </Properties>
</AlteryxDocument>

Hi,

 

The current way to label or annotate a tool is that we need to double click the tool to bring up configuration window, then click on the annotation icon, then click on the annotation textbox.

 

My suggestion is when a tool is selected, simply press the Enter/Return key, then start typing the annotation right there (inline editing). Save a couple of clicks.

 

Thanks.

It would be nice to improve upon the 'Block Until Done' tool.

 

Additional Features I could see for this tool:

1: Allow Any tool (even output) to be linked as an incoming connection to a 'Block Until Done' tool.  

2: Allow Multiple Tools to be linked to a 'Block Until Done' tool. (similar to the 'Union' tool)

 

The functionality I see for this is to enable Alteryx set the Order of Operation for workflows and Allowing people to automate processes in the same way that people used to do them. I understand there's a work around using Crew Macros (Runner/Conditional Runner) that can essentially accomplish this;  howerver (and I may be wrong).  But it feels like a work around, instead of the tool working the way one would expect; and I'm loosing the ability to track/log/troubleshoot my workflow as it progresses (or if it has an issue)

 

Happy to hear if something like that exists.  Just looking for ways to ensure order of operation is followed for a particular workflow I am managing. 

Thanks,

Randy

I have been using Alteryx for not a very long time, but allready feel frustated by the difficulties when it comes to access the data result shown in the Browse Tool (from Linear Regression, Principal Component Analysis, etc.).

Lots of the output shown here is really important data that you really want to be able to access for further analysis in Alteryx or in another tool.

 

This data should be easy to access, following the Alteryx self-service philosophy.

 

Extractable Output.png

 

 

When running a workflow and outputting files to get a better look at the data if you have forgotten to close one of the output files of the same name, you get the "Error Creating File". 

I understand why this happens and that I forgot to do something.  The issue I have is that it doesnt tell me that those files have been left open until after the workflow is almost complete which in some cases is 5-10 minutes and then I have to close the output files and re run and wait again.  Could a future version check those files at the begining of the process and then let me know, or could there be a message that says "filename" was open and could not be created we have renamed it to "filenameA".  Checking at the begining would be prefered. 

 

Thanks

Top Liked Authors