Dashboard Widgets - iFrame Embedding


I have a dashboard with multiple widgets. I am embedding the dashboard in angular IFrame. If there is no data in any of the dashboard widgets, I don’t want to embed it. Instead of embedding want to show simple messages. Is it Possible to get Wideget details along with response from API before embedding to IFrame?

Hello @Asmita_Aitavade, I think that will depend on the situation. There is quite a bit of functionality built into the embedding process and there is a lot of documentation around how you can utilize the AWS SDK for QuickSight.

There may be a real time value returned from the API about whether a visual contains data or not, and you may be able to retrieve some kind of error from the dashboard or sheet, if an entire sheet of visuals does not contain data. I will include some documentation links to describe-dashboard and describe-dashboard-definition functions that are available through the SDK.

Both pages contain a section related to visuals so you might have some luck there.

thanks @DylanM. I am still not able to find the way to check if the dataset retruns empty result set then instead of loading widgets can we send response back using API to angular application saying there is no data found, instead of loading widget and showing message as no data found.

Hello @Asmita_Aitavade, there is not a way to retrieve the data being returned from a dataset or from a specific visual through the QuickSight API. Due to that, I don’t think there is a way to determine if a visual will contain any values depending on the user.

I think the work around solution would be to utilize user groups that are attached to the user in QuickSight to determine what they can and cannot see.

Otherwise, I can mark this as a feature request and archive the ticket. The feature-request will be to utilize the QuickSight APIs to query data being returned from a dataset based on the user accessing it. If you have any other problems building your dashboard feel free to post a new question so you can be placed at the top of our priorty listing for responses!