This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
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:
Do you have any idea how I can build something like this?
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.
@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.
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.