You may see the following warning message on your tabbed dashboard regarding an unsupported layout, which typically prevents further editing of the dashboard:
This dashboard uses layouts that are not supported for dashboards with tabs. Learn more about updating to a supported layout.
To resolve the error, you must update the dashboard to a supported layout. This guide outlines the steps to update the dashboard layout to resolve the error.
Updating dashboards to a supported layout
If you don't have access to make API calls, please contact your Looker admin for assistance. If you encounter an issue that is not described here, contact Looker Support.
To update dashboards to a supported layout, complete the steps outlined in each of the following sections:
- Identify unsupported layouts
- Update the layout type
- Verify the update
- Check for duplicate element IDs
Depending on the outcome of step 4, you may also need to complete the steps to Manually recreate the dashboard.
1. Identify unsupported layouts
Use the Looker API Explorer or your preferred API tool to call the get_dashboard_layout API endpoint with the dashboard's dashboard_id.
Examine the JSON response to find any layout objects where the type is not one of the supported types (newspaper, for example). Supported types can be found in the LookML dashboard parameters documentation.
For example, the call GET /dashboard_layouts/{dashboard_id} produces the following JSON snippet, which shows an unsupported layout type:
{
"id": "120",
"dashboard_id": "75",
"type": "drag", ## IDENTIFIED UNSUPPORTED DASHBOARD TYPE
"active": true,
"column_width": 0,
"width": 0,
"deleted": false,
"dashboard_title": "tabbed dash with limit tab",
"dashboard_layout_components": [
{
"id": "224",
"dashboard_layout_id": "120", ## DASHBOARD LAYOUT ID FOR STEP 2
"dashboard_element_id": "377",
"row": 0,
"column": 0,
"width": 8,
"height": 6,
"deleted": false,
"element_title": "Untitled",
"element_title_hidden": false,
"vis_type": "looker_bar",
"granular_row": 0,
"granular_column": 0,
"granular_width": 24,
"granular_height": 12,
"can": {
"create": true,
"destroy": true,
"update": true,
"index": true,
"show": true
}
}
]
}
2. Update the layout type
Call the update_dashboard_layout API endpoint for each unsupported layout ID (dashboard_layout_id). Use the dashboard_layout_id and dashboard_id from the previous step. Set the type to newspaper, and provide a clear value for title, such as "Legacy Layout".
Expanding on the example from step 1, call PATCH /dashboard_layouts/{dashboard_layout_id} and provide the following updates:
{
"dashboard_id": "75",
"type": "newspaper", ## SUPPORTED LAYOUT TYPE
"active": false,
"column_width": 0,
"width": 0,
"label": "Legacy Layout", ## NEW TITLE
"description": "",
"order": 0
}
3. Verify the update
If the API call from step 2 is successful, refresh the dashboard in the Looker UI. You should see a new tab with the name "Legacy Layout" (or the title that you provided), and the warning banner shouldn't appear.
4. Check for duplicate element IDs
Call the get_dashboard_layout API again for the dashboard. Carefully inspect the response to ensure that all dashboard_element_id values are unique across all of the tabs on the dashboard.
If all values for
dashboard_element_idare unique, you can now safely edit the dashboard. You can delete the "Legacy Layout" tab and save the dashboard. You can stop here.If you find any duplicate values for
dashboard_element_idacross different tabs, proceed to step 5.
Manually recreate the dashboard
If you identified any duplicate dashboard_element_ids on the dashboard after completing steps 1-4, you will need to manually recreate the dashboard by following the steps in these sections:
1. Recreate dashboard tabs and elements
Open the dashboard in the Looker UI and enter edit mode. Create a new, temporary tab. From the existing tabs, manually duplicate all of the tiles and elements that you want to keep and move the duplicates to the temporary tab that you just created. Save the dashboard.
2. Remove the old elements
Edit the dashboard again. Delete all of the original tiles and elements from all of the pre-existing tabs (including the "Legacy Layout" tab). Leave only the duplicated tiles on the new temporary tab. Save the dashboard.
3. Remove the old tabs
Edit the dashboard one final time. Delete all of the old tabs, leaving only the new tab that contains the duplicated elements. Optionally rename the new tab. Save the dashboard.