We're excited to announce that we'll be partnering with Credly starting October 19th - see what this means and read the announcement blog here!

Alteryx Designer Discussions

Find answers, ask questions, and share expertise about Alteryx Designer.

Help building an interface

jmperafan
7 - Meteor

I am building a report and I want to build an interface that allows the users to add functionality similar to the summarize function. Ideally, users should be able to select up to 5 different columns and their respective aggregations. Then those results should added to the report as a table.

 

For example, if my user selects "sales":"sum", "date":"min", and "date":"max", the output should be a table like this:

 

ColumnAggregationResult
SalesSum20412408
DateMin2018-01-01
DateMax2020-12-31

 

Do you have any idea how I can build something like this?

6 REPLIES 6
PedrodeOl
8 - Asteroid

@jmperafan,

 

The user should always select the 5 fields with an agg?

danilang
18 - Pollux
18 - Pollux

Hi @jmperafan 

 

Alteryx does a lot of things really well, but building a responsive modern UI isn't one of them.  The reason for this is that all UI objects are created before the workflow runs and cannot be modified after that.  Because of this you can't have a dynamic UI where the available options in one list change depending on the value selected in another.  In your case, the type of field selected in the column dropdown should determine the aggregation options in the second, i.e. sum makes sense for a numeric column but not a date.  

 

The way to get around this is to build chained apps where in the first app the user would select the 5 columns and write the selected columns and the allowed aggregation types to a series of temp files.   The second app would use the values from the temp files to populate its UI options.

 

You can find more about chained app in the last video in the interactive training videos.  You probably should go through all the videos to familiarize yourself with the all the available controls and their idiosyncrasies. 

 

Dan 

jmperafan
7 - Meteor

@PedrodeOl Ideally, the interface should allow the users to select no more than 5 aggregation. But it should also be fine if the user wants less than 5. 

jmperafan
7 - Meteor

@danilang No, sorry if I didn't explain it correctly. We don't want a dynamic UI. In fact, how the interface looks is really just secondary, as long as it works. 

 

We just want to use an interface to allow users to "play" with a summarize tool. In our ideal scenario, there are 5 sections in the interface where you select columns and aggregations. It should be also possible to run it if the user needs fewer aggregation than 5.

 

If this is not possible for whatever reason, we are fine with using a different type of interface, but in the end I just want to allow users to send input to the summarize tool.

 

 

AdamR
Alteryx
Alteryx

You could do something like the attached. I made it work for 2 fields and 2 aggregation types, but I think you could take the principle and extend it to 5 fields.

 

It is somewhat fiddly, but hopefully you can see how it is working.

Adam Riley
Principal Software Engineer
Tech Lead Core Engines, Alteryx
LukeL
Alteryx
Alteryx

Adam,

 

I like your framework , and I would take a similar approach. Attached is a branched copy of your workflow package with a simple / flexible interface: using a Text Box, we can input a series of Key:Value pairs to dynamically format the Summarize XML.

 

AggregationsSummarizeXML.PNG

Labels