The Inspire Cyber Monday promo has been extended to Dec. 1! This offer is discounted off the Early Bird price and includes 20% off for conference-only passes and 10% off training passes.

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,

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

When making any type of macro, it's important to test the functionality of the macro via a debug.  This is accomplished successfully with normal tools, however there's a bug that will not allow the user to debug In-DB macros that use either of the following standard Alteryx tools:  

  • Macro Input In-DB
  • Macro Output In-DB

 

If either of these tools are included in the macro you are building, an error message will appear not allowing you to open a debug.  

Error message: Question Tool Load Error:  A question tool with a tool id of XXX is missing the associated question data.

 

Of course, Macro input and output tools do not require any specific action/question tool associated with it.  This is a bug.  A user pointed out the XML issue almost 3 years ago here:

In summary: "It appears that the tool itself inserts a hidden Question attribute into the XML which can also be seen in Workflow Configuration"

Source:

https://community.alteryx.com/t5/Alteryx-Designer-Desktop-Discussions/In-DB-Macro-Input-and-Output-t...

 

Examples....

 

A normal macro, using standard tools:

Debug_Standard1.png

 

After debugging a standard macro, the Macro Input/Output tools correctly change to a Text Input and a Browse tool.  This allows the macro author to test the macro.

Debug_Standard2.png

 

However, when trying the same thing with In-DB tools in a macro, an error message appears:

In-DB macro 1:

Debug_indb1.png

 

In-DB Macro error message (after clicking "Open Debug"):

Debug_indb2.png

Hello all,

As of now, you have two very distinct kinds of connection :

-in memory alias

-in database alias

It happens than every single time I use a in-database alias I have to create the same for in memory since some operations cannot be realized in in-database (such as pre-sql or interface tools)

What does that mean for us :

-more complex settings operations/training/tests

-unefficient worflows that have to deal with two kinds of alias.

What I propose :
-a single "connection alias", that can be used either for in-db either for in-memory,

-one place to configure

-the in-db or in-memory being dependant on the tools you use

simonaubert_bd_0-1682053466250.png

 


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


Hello all,

As of today, we can easily copy or duplicate a table with in-database tool.This is really useful when you want to have data in development environment coming from production environment.

But can we for real ?

 

Short answer : no, we can't do it in these cases :
-partitions

-statistics
-index

-any constraints such as primary-foreign keys

But even if these ideas would be implemented, this means manually setting these parameters.

So my proposition is simply a "clone table"' tool that would clone the table from the show create table statement and just allow to specify the destination path (base.table)

simonaubert_bd_0-1680504054872.png

 


Best regards,

Simon

 

Hello all,

 

As of today, you must set which database (e.g. : Snowflake, Vertica...) you connect to in your in db connection alias. This is fine but I think we should be able to also define the version, the release of the database. There are a lot of new features in database that Alteryx could use, improving User Experience, performance and security. (e.g. : in Hive 3.0, there is a catalog that could be used in Visual Query Builder instead of querying slowly each schema)

I think of a menu with the following choices :
-default (legacy) and precision of the Alteryx default version for the db
-autodetect (with a query launched every time you run the workflow when it's possible). if upper than last supported version, warning message and run with the last supported version settings.
-manual setting a release (to avoid to launch the version query every time). The choices would be every supported alteryx version.

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,

As of today, we can't choose exactly the file format for Hadoop when writing/creating a table. There are several file format, each wih its specificity.

Therefore I suggest the ability to choose this file format :

-by default on connection (in-db connection or in-memory alias)

-ability to choose the format for the writing tool itself.

Best regards,

Simon

Hello all,

Big picture : on Hadoop, a table can be

-internal (it's managed by Hive or Impala, and act like any other database)
-external (it's managed by hadoop, can be shared among the different hadoop db such as hive and impala and you can't delete it by default when dropping the table

 

for info, about suppression on external table :

https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.4/using-hiveql/content/hive_drop_external_table_...

Alteryx only creates internal tables while it would be nice to have the ability to create external tables that we can query with several tools (Hive, Impala, etc).

It must be implemented

-by default for connection
-by tool if we want to override the default

Best regards,

Simon

Hello all,

We all love pretty much the in-memory multi-row formula tool. Easy to use, etc. However, the indb counterpart does not exist.

I see that as a wizard that would generate windowing functions like LEAD or LAG
https://mode.com/sql-tutorial/sql-window-functions/

 

Best regards,

Simon

Hello,

Just like Monetdb or Vertica, Clickhouse is a column-store database, claiming to be the fastest in the world. It's available on Cloud (like Snowflake), linux and macos (and here for free, it's open-source). it's also very well ranked in analytics database https://db-engines.com/en/system/ClickHouse and it would be a good differenciator with competitors.

https://clickhouse.com/

 

image.png

it has became more popular than Greenplum that is supported : (black snowflake, red greenplum, orange clickhouse)

simonaubert_bd_0-1677359498791.png

 


Best regards,

Simon

Hello all,

MonetDB is a very light, fast, open-source database available here :
https://www.monetdb.org/

 
image.png

 

Really enjoy it, works pretty well with Tableau and it's a good introduction to column-store concepts and analytics with SQL.

 

It has also gained a lot of popularity these last years :
https://db-engines.com/en/ranking_trend/system/MonetDB



Sadly, Alteryx does not support it yet.

Best regards

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

Hello all,

In help, we can read that :
https://help.alteryx.com/current/designer/write-data-db-tool

Update/Delete is currently only supported for SQL Server ODBC connections.

 

 I don't know about you but SQL Server is well used in transactional workload but in analytics... well... I have only used once in several dozens of context !

Maybe it would be cool to make it work on many more database?

Best regards,

Simon

Please add support for Databricks' Unity Catalog

 

Currently, when selecting a Databricks-connection in the “Connect In-DB”-tool, and opening the “Query Builder”, only tables in the catalog named “hive_metastore” are listed. That is, Alteryx submits the following SQL query to Databricks:

Listing tables 'catalog : hive\_metastore, schemaPattern : %, tableTypes : null, tableName : %'

 

However, with Unity Catalog in Databricks the namespace is three-tier and there may be multiple catalogs (and not just the "hive_metastore" catalog), see https://docs.microsoft.com/en-gb/azure/databricks/lakehouse/data-objects#--what-is-a-catalog

 

I reached out to Alteryx support, which replied that you currently have a feature request for implementing this change (ID TDCB-4056) and they furthermore suggested that I post here.

 

Thanks in advance.

Alteryx Designer is slow when using In-DB tools.

 

We use Alteryx 2019.1 on Hive/HortonWords with the Simba ODBC Driver configured with SSL enabled.

 

Here is a compare In-DB / in Memory : 

demo01.gif

demo02.gif

 

We found that Alteryx open a new connection for each action : 

- First link to joiner = 1 connection.

- Second ling to joiner = 1 connection.

- Click on the canevas = 1 connection.

 

Each connection take about 2,5 sec... It really slow down the Designer : 

ScreenLog.jpg

 

 

Please, keep alive the first connection instead of closing it and creating a new one for each action on the Designer.

 

 

 

Hello all,

According to wikipedia :
https://en.wikipedia.org/wiki/Join_(SQL)

 

CROSS JOIN returns the Cartesian product of rows from tables in the join. In other words, it will produce rows which combine each row from the first table with each row from the second table.[1]

Example of an explicit cross join:

SELECT *
FROM employee CROSS JOIN department;

Example of an implicit cross join:

SELECT *
FROM employee, department;

The cross join can be replaced with an inner join with an always-true condition:

SELECT *
FROM employee INNER JOIN department ON 1=1;

 

For us, alteryx users, it would be very similar to Append Fields but for in-db.

Best regards,

Simon

 

For in-DB use, please provide a Data Cleansing Tool.

 

 

01.jpg

 

Hello all,

as of today, a join in-db can only be done with an equal operator.

Example : table1.customer_id = table2.customer_id

It's sufficient most of the time. However, sometimes, you need to perform another kind of join operation, (especially with calendar, period_table, etc).

Here an example of clause you can find in existing sql

inner join calendar on calendar.id_year_month between fact.start_period and fact.end_period

 

helping to solve that case :

image.png

 

(the turnaround I use to day being : I make a full cartesian product with a join on 1=1 and then I filter the lines for the between)

or <,>, .... et caetera.

It can very useful to solve the most difficult issues. Note that a product like Tableau already offers this feature.

Best regards,

 

Simon

Hello,

 

We use the pre-sql statement of the input to set some parameters of connections. Sadly, we cannot do that in a in-db workflow. This would be a total game-changing feature for us.

 

Best Regards,

 

Simon

  • Category In Database
Top Liked Authors