Why 'Replace an existing dashbaord' is disabled?

I noticed that Analysis > Publish a dashboard > replace an existing dashboard is disabled.

image

any idea why ?

Hi @tbdori

In the UI you can only “Replace an existing dashboard” that has been published from that Analysis before in the UI.

Have you previously published a dashboard from this analysis?

See this question here which shows how using the API you can replace an existing dashboard from a different analysis.

Let me know if that helps.

Rob

3 Likes

@robkc It’s a little different situation. I migrated this analysis and dashboard from dev account to stg account.
So, Dashboard is published in STG account but using templateId as ‘SourceEntityArn’, not ‘AnalysisId’.
Other than that, all info is the same as what I find in DEV account side.

In this scenario, I feel like I can’t do ‘Replace an existing dashboard’ anymore. Am I correct?

{
    "Status": 200,
    "Dashboard": {
        "DashboardId": "{dashboard-id}",
        "Arn": "arn:aws:quicksight:us-east-1:xxx:dashboard/{dashboard-id}",
        "Name": "ds_xxxxxx",
        "Version": {
            "CreatedTime": "2023-05-11T09:50:40.312000-04:00",
            "Errors": [],
            "VersionNumber": 1,
            "Status": "CREATION_SUCCESSFUL",
            "SourceEntityArn": "arn:aws:quicksight:us-east-1:xxx:template/{dashboard-id}/version/1",
            "DataSetArns": [
                "arn:aws:quicksight:us-east-1:xxx:dataset/xxxx"
            ],
            "Description": "1",
            "ThemeArn": "arn:aws:quicksight:us-east-1:xxx:theme/CLASSIC",
            "Sheets": [
                {
                    "SheetId": "...",
                    "Name": "tab1"
                },
                {
                    "SheetId": "...",
                    "Name": "tab2"
                },
                {
                    "SheetId": "....",
                    "Name": "tab3"
                },
                {
                    "SheetId": "....",
                    "Name": "tab4"
                },
                {
                    "SheetId": "...",
                    "Name": "tab5"
                },
                {
                    "SheetId": "...",
                    "Name": "tab6"
                }
            ]
        },
        "CreatedTime": "2023-05-11T09:50:36.158000-04:00",
        "LastPublishedTime": "2023-05-11T09:50:36.158000-04:00",
        "LastUpdatedTime": "2023-05-11T09:50:40.312000-04:00"
    },
    "RequestId": "..."
}
1 Like

There are 2 possible reasons:

  1. There is no existing dashboard that was created from the analysis.
  2. There is an existing dashboard but you’re not its owner.

Check if the ownership was also migrated.

1 Like

@David_Wong I checked the dashboard and confirmed that I own the dashboard and analysis across source and target account.

Then, I checked if the dashboard is created from the analysis.
That’s tricky to say yes or no since it’s migrated from source account.

As you see below, target account’s dashboard shows SourceEntityArn as 'template/’ not analysis/~. Source side shows analysis/~~ .

"SourceEntityArn": "arn:aws:quicksight:us-east-1:xxx:template/{dashboard-id}/version/1",

So, in this case, I’m not sure if I can tell the dashboard is from the analysis or template. If it’s based on template, should I be able to ‘Replace an existing dashboard’ ?

Hi @tbdori - you are correct that since you created your dashboard using a a template, there is no associated analysis that is linked to it, and hence you are not able to update that dashboard from an analysis in that account. So you would need to continue updating the dashboard using some template (doesnt need to be the same template, but needs to be done from some template in the API/CLI). Alternatively you can use your template to create a analysis in prod and then manually publish a dashboard from it, which would establish that connection from analysis to dashboard.

In this scenario where you are migrating from a lower to higher environment, usually you dont even have analyses in the higher environment because all changes are made in the lower environment.

2 Likes