Insight - customize narrative - limitations for creating bigger detail

Hello,

I am trying to create simple chain between sheets, where first sheet is a table with action to sent id and date from selected row into another sheet, where I load more details for selected row.

Lets say I have table with id, date, username with action to go to detail, where I want to load more data for specific user (like name, surname, etc.). First part is not a problem, I have 2 parameters that I will fill with action and I am redirected to second sheet.

Problem is how to create detail with specific data. I tried to use Insight, but there are limitations to how much categories we can use or that these values can be only numbers:

max. 5 categories with only 1 value:


max. 1 category with unlimited values, but values are only sum/counts and it is not available to pass text. I want add text column into value, it will make count from it (always 1) and the only other option is count distinct:


image

I am able to get text using categoryValue like this (thanks to AWS Quicksight: showing large text fields using custom insights - Stack Overflow):

But because of limitations, we are not able to pass more categories. Also this looks like a not intented solution and really bad solution for more values. I know that we can create more Insights for each detail category, but that will mean to create around 10 Insights, create 40+ computations and I don’t think that is correct usage. Also that means that each action to show detail will load same request 10 times (unfortunately, this is how quicksight works with direct query).

Currently, we are loading everything in the first dataset (for the table) and sending all values as parameters, so we can use them in narrative, but we want to reduce load of first dataset (lots of joins just because of detail). It looks like this (there are lots of sections):

Do you know if there is any other option how to create detail (lots of data for 1 specific row selected in different table) in Quicksight? Or how to avoid using parameters from first dataset / using more than 1 Insight in detail tab?

Thanks for any help or hint how to show detailed data, because I am running out of ideas.

Hello @Leon_Vojtech , welcome to the QuickSight community!

While there are limits to Insight visuals, I think that you are on the right track and that your best option is using multiple insights to visualize the details coming from your table. I can mark this as a feature request for the QuickSight team to increase the amount of dimensions you can add to an insight narrative. That being said, especially with direct query, creating an insight with a lot of dimensions can take more time to load, slowing down your dashboard.

One workaround I have used in the past is creating table visuals and formatting out the cell borders and removing the headers. It takes more formatting but in some uses cases I have found it to be easier than trying to wrangle a custom narrative in the insight visual.

Hello @duncan, thanks for the response.

The most useful part in this case will be the option to put all values to the Insight (or any new chart) as they are. I mean, if I want to show non-numeric value, I need to workaround it using category. Also if I want to show number from dataset, I still need to create computation for it (in this case, I am using Total aggregation, but it probably doesn’t matter witch one I will choose), even though I don’t want to process the value. I know that QuickSight expect to have more than 1 row from the dataset, but it will be really nice to have some plain text area where we can simply put all fields and format the text around it.

Current problem with direct query and multiple charts (insights in this case) is that it is loading data from dataset for each chart separately. That means that if I will have 10 charts using one dataset, it will query for the same result 10 times. Do you know if there is also any workaround for this? Or the only way is to use spice to avoid multiple loads from same dataset with same parameters?

Thanks for the tip with tables, I will have to transform the result from the columns to rows, but it is also worth a try.

Hello,

I just wanted to share final result.

I made a calculated field with concatenated values like:

concat(
toString({number_value}), “|”,
{string1}, “|”,
toString({number_value2}), “|”,
{string2}
)

Then pass it as a category into insight, use Top/bottom computation and get value from computation (cf) like this:

split(cf.items[0].categoryValue.value, “|”, 2)

Number is the position in the concat, starting with 1.

Downside for this approach:

  • you need to prepare calculated field
  • you need to extract values with function, so it is probably not optimised
  • you need to remember the position of your value, because you can easily messed it up

I hope that this helps to anybody, who will try to pass values from dataset directly into narrative :slight_smile: