Successfully Migrated QuickSight Dashboard page to Another Dashboard via API – Final Steps & Learnings
While working on migrating a QuickSight dashboard, I encountered several challenges and had to go through multiple debugging steps to get it right. After experimenting with different approaches, I successfully migrated the dashboard using the API method.
In this post, I’m sharing my final conclusions and step-by-step process so that anyone facing a similar issue can find a complete solution in one place. I hope this helps the community, and I’d love to hear your thoughts or alternative approaches!
- Ensure the dataset with all the calculated fields exists in the target dashboard.
- Export the source analysis definition:
aws quicksight describe-analysis-definition --aws-account-id YOUR_ACCOUNT_ID --analysis-id SOURCE_ANALYSIS_ID --region YOUR_REGION >> source_analysis.json - Export the destination analysis definition:
aws quicksight describe-analysis-definition --aws-account-id YOUR_ACCOUNT_ID --analysis-id DESTINATION_ANALYSIS_ID --region YOUR_REGION >> destination_analysis.json - Modify destination_analysis.json:
-Copy destination_analysis.json to destination_analysis_updated.json.
-Remove these fields:
“Status”
“AnalysisId”
“Name”
“ResourceStatus”
-Ensure required datasets from source_analysis.json exist in “DataSetIdentifierDeclarations”, and add them if missing.
-Copy the “Sheets” section from source_analysis.json and append it to “Sheets” in destination_analysis_updated.json.
-Copy “FilterGroups” from source_analysis.json to destination_analysis_updated.json.
-Copy “ParameterDeclarations” from source_analysis.json to destination_analysis_updated.json.
-Remove “RequestId” from destination_analysis_updated.json. - Create a new analysis with the updated JSON:
aws quicksight create-analysis --aws-account-id YOUR_ACCOUNT_ID --analysis-id NEW_ANALYSIS_ID --name NEW_ANALYSIS_NAME --cli-input-json file://destination_analysis_updated.json - Check if the creation was successful:
aws quicksight describe-analysis --aws-account-id YOUR_ACCOUNT_ID --analysis-id NEW_ANALYSIS_ID - Verify the new analysis in QuickSight and share it:
-Go to QuickSight Console → Admin → Assets.
-Locate the new analysis and share it with the admin or security group.
-Test the new analysis to confirm everything is working.
Done!