Amazon QuickSight launches dataset parameters to optimize slicing and dicing experiences

We are introducing a new kind of parameter in Amazon QuickSight that will help users create interactive experiences in their dashboards. With Dataset Parameters, authors can optimize the experience and load time of dashboards that are connected-live to external SQL-based sources. When readers interact with their data, the selection and actions they make in controls, filters and visuals can be propagated to the data sources via live, custom, parameterized SQL queries. By mapping multiple Dataset Parameters to Analysis parameters, users can create a wide variety of experiences using controls, user actions, parameterized URLs, and calculated fields, as well as create dynamic visuals’ titles, descriptions, bookmarks, emails and PDF reports.


This is a companion discussion topic for the original entry at https://aws.amazon.com/about-aws/whats-new/2023/05/amazon-quicksight-dataset-parameters-slicing-dicing-experiences/
2 Likes

Looking forward to explore this new feature…

Regards - Sanjeeb

1 Like

can these parameters be used in sub queries that are generated not by custom sql but automatically by QS when you do a table-based joined dataset?

Can you please provide an example, so we better understand the use-case? Parameters can work with both custom SQL and filters in direct query sources.

1 Like

Hi @Gil_Raviv - I have dataset A and dataset B. When I create my datasource in quicksight, A is the primary table and B is the secondary; B is a left join. When my visualizations are created based on the need, QS generates its own queries to support the visualizations. I have Field Z on both datasets. Field Z is being used as the main driver on my visualization. What I am finding without this release is that the filter is being placed only at the superficial level (the outermost query in the select statement) and not in the substatements (against A and B directly). Thus when the query is executed, it is pulling all data from dataset A, all data from dataset B and THEN at the end filtering it for Field Z. I had asked for this to be a feature request that I can force the subquery generated by QS to include a filter for Field Z.

SELECT x,
COUNT(*) AS “count”
FROM
(
SELECT x
FROM
person
INNER JOIN address ON x = x

) AS “t”
LEFT JOIN job ON y = y
WHERE
person.id = ‘’
GROUP BY x
ORDER BY x
LIMIT
500

1 Like

@pyi Thank you for the detailed explanation. My answer is divided to two possible solutions. For the second, I will need to test and verify, but you can try test it as well, and let us know.

Solution 1: Use two custom SQL queries to create the tables. Create the the parameter for field Z, and add it to the SQL queries using where clauses. Then, apply the join in Join diagram using the Dataset UI. Finally, follow the user guide to map the dataset parameter in Analysis and use it in a filter control.

Solution 2: Keep your existing implementation. In your dataset UI, add the parameter and create a filter on field Z in the dataset UI using the parameter. The user guide will help you how to create a filter with a parameter in the dataset UI. Finally, follow the user guide to map the dataset parameter in Analysis and use it in a filter control.

1 Like