排查信息中心不支持的布局错误

您可能会在标签页式信息中心中看到以下关于不支持的布局的警告消息,该消息通常会阻止您进一步修改信息中心:

This dashboard uses layouts that are not supported for dashboards with tabs. Learn more about updating to a supported layout.

如需解决此错误,您必须将信息中心更新为受支持的布局。本指南概述了更新信息中心布局以解决该错误的步骤。

将信息中心更新为受支持的布局

如果您无权进行 API 调用,请与 Looker 管理员联系以获取帮助。如果您遇到此处未描述的问题,请与 Looker 支持团队联系。

如需将信息中心更新为受支持的布局,请完成以下各部分中概述的步骤:

  1. 识别不受支持的布局
  2. 更新布局类型
  3. 验证更新
  4. 检查是否有重复的元素 ID

根据第 4 步的结果,您可能还需要完成手动重新创建信息中心的步骤。

1. 识别不受支持的布局

使用 Looker API Explorer 或您偏好的 API 工具,通过信息中心的 dashboard_id 调用 get_dashboard_layout API 端点

检查 JSON 响应,找到 type 不是支持的类型(例如 newspaper)的任何布局对象。您可以在 LookML 信息中心参数文档中找到支持的类型。

例如,调用 GET /dashboard_layouts/{dashboard_id} 会生成以下 JSON 代码段,其中显示了不受支持的布局类型:

{
"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. 更新布局类型

针对每个不受支持的布局 ID (dashboard_layout_id) 调用 update_dashboard_layout API 端点。使用上一步中的 dashboard_layout_iddashboard_id。将 type 设置为 newspaper,并为 title 提供明确的值,例如“旧版布局”。

在第 1 步的示例基础上,调用 PATCH /dashboard_layouts/{dashboard_layout_id} 并提供以下更新:

{
  "dashboard_id": "75",
  "type": "newspaper", ## SUPPORTED LAYOUT TYPE
  "active": false,
  "column_width": 0,
  "width": 0,
  "label": "Legacy Layout", ## NEW TITLE
  "description": "",
  "order": 0
}

3. 验证更新

如果第 2 步中的 API 调用成功,请在 Looker 界面中刷新信息中心。您应该会看到一个名为“旧版布局”(或您提供的标题)的新标签页,并且警告横幅不会显示。

4. 检查是否有重复的元素 ID

再次针对信息中心调用 get_dashboard_layout API。仔细检查响应,确保信息中心上所有标签页的所有 dashboard_element_id 值都是唯一的。

  • 如果 dashboard_element_id 的所有值都是唯一的,您现在可以安全地修改信息中心。您可以删除“旧版布局”标签页并保存信息中心。您可以就此停止。

  • 如果您发现不同标签页中存在任何重复的 dashboard_element_id 值,请继续执行第 5 步。

手动重新创建信息中心

如果您在完成第 1-4 步后发现信息中心内有任何重复的 dashboard_element_id,则需要按照以下各部分中的步骤手动重新创建信息中心:

  1. 重新创建信息中心标签页和元素
  2. 移除旧元素
  3. 移除旧标签页

1. 重新创建信息中心标签页和元素

在 Looker 界面中打开信息中心,然后进入修改模式创建一个新的临时标签页。从现有标签页中,手动复制要保留的所有图块和元素,然后将复制项移动到刚刚创建的临时标签页中。保存信息中心

2. 移除旧元素

再次修改信息中心。从所有预先存在的标签页(包括“旧版布局”标签页)中删除所有原始图块和元素。仅在新临时标签页中保留复制的图块。保存信息中心。

3. 移除旧标签页

最后一次修改信息中心。删除所有旧标签页,仅保留包含重复元素的新标签页。(可选)重命名新标签页保存信息中心。