i built a dashboard in QuickSight/QuickSuite and added a schedule to send that report to users but i need to stop delivery when there’s no data for any visual or no data change when compared with previous day. is there a way in quicksight we can achieve this or if we have to rely on any AWS services for this, could i get some in depth information or video explanation on how we can achieve this. Appreciate the responses/help.
Hello Shivananda,
Short answer: there’s no native way to “send only if there’s been a data change” switch on Quick Suite schedules today. Scheduled e-mail snapshots will send on the defined schedule even if there hasn’t been a data change (this is expected behavior).
A possible solution would be to leverage Lambda and EventBridge to 1.) check that there’s data and 2.) detects if there was a change in data in relative timeframe to then 3.) call the StartDashboardSnapshotJob api to send the e-mail report.
Here’s how it would work:
1.) Create a schedule on your dashboard (set Repeat to Once), and copy the Schedule ID
2.) Set up an EventBridge rule with your desired frequency of checking data that invokes a Lambda
3.) In Lambda, run a lightweight query against your data source (e.g. compute todays row count, compare with yesterdays row count, if count == 0 do nothing –> otherwise call StartDashboardSnapshotSchedule to fire the schedule immediately.
We hope this solution worked for you. Let us know if this is resolved. And if it is, please help the community by marking this answer as a “Solution" (check box under the reply).