内容验证

内容验证器会在 LookML 中搜索 Looker 内容(Look 和信息中心)中引用的模型、探索和字段名称。此工具可用于验证 LookML 引用、修复您在更改后 LookML 中的错误,以及更新整个项目中的 LookML 元素名称。

您必须拥有 develop 权限才能使用内容验证器。内容验证器将对基于您拥有 develop 权限的 LookML 项目的所有内容运行验证。

如需打开内容验证器,请在主导航面板开发菜单中选择内容验证器。您可以通过以下两种方式使用内容验证器:

使用内容验证器前的准备工作

使用内容验证功能进行更改时,您必须非常谨慎。内容验证器没有撤消功能,并且可能会影响许多 Look 和信息中心,以及它们的从此处探索链接。如果您确实犯了错误,应尽快尝试更正,以免后续的更改使您更难找出受影响的 Look。

此外,使用内容验证工具时,请考虑时间安排。将开发更改推送到生产环境时,您应同时修复受影响的 Look 和图块,以便尽可能缩短它们无法正常运行的时间。如果您过早地根据开发模式下的工作修复 Look 和图块,那么在您推送更改之前,用户会看到这些 Look 和图块处于损坏状态。同样,如果您在推送更改后很长时间才修复 Look 和板块,那么在您修复之前,用户看到的 Look 和板块将处于损坏状态。

使用内容验证器修正错误

内容验证器是一款实用工具,可用于查找和修正因 LookML 更改而导致的错误。例如,如果您将字段名称从 customer 更改为 user,则包含 customer 字段的所有 Look 或信息中心图块将不再起作用(除非您使用了 alias 参数)。内容验证器会列出对 customer 字段的所有引用,并提供替换移除按钮来修正错误。

当您运行内容验证器时,它会验证 Look 和信息中心对 LookML 模型探索视图字段的所有引用,并针对内容对未知 LookML 对象的任何引用显示错误。

内容验证器不会显示以下方面的错误:

  • 已删除并位于回收站中的 Look。如果您想验证已删除的 Look,Looker 管理员必须先恢复该 Look。
  • 基于您没有 develop 权限的 LookML 模型的内容。您只能对基于您拥有 develop 权限的模型(即您可以在 Looker IDE 中看到的模型)的内容使用内容验证器。如需了解模型权限,请参阅角色文档页面。

运行内容验证器

运行内容验证器时,您可以将验证范围限定为特定的 LookML 项目和特定的内容文件夹(包括其子文件夹,如果有)。这有助于提升内容验证器的性能。

请注意以下有关内容验证器范围限定的信息:

  • 如果您未指定文件夹或 LookML 项目,则验证不会限定范围。内容验证器将验证基于您拥有 develop 权限的模型的所有内容。
  • 如果您指定了内容文件夹,内容验证器将对该内容文件夹及其所有子文件夹(如有)运行验证。
  • 如果您指定了一个内容文件夹和一个或多个 LookML 项目,则这两个条件都将适用:内容验证器会将验证范围限定为仅包含文件夹(和子文件夹)中基于所选 LookML 项目的内容。
  • 信息中心提醒、信息中心安排和 Look 安排不会存储在内容文件夹中。因此,如果您将内容验证范围限定为某个文件夹,内容验证器将不会验证任何安排或提醒。
  • 如果您指定 LookML 项目,内容验证器会通过查看指定项目的源 LookML 以及为每个项目配置的模型(您可以在 LookML 项目页面上查看)来确定项目的关联模型。如果模型文件已从 LookML 项目中删除,并且未在 LookML 项目页面上显示为项目中的模型,则内容验证器不会显示与基于该已删除模型的内容相关的错误。

如需运行内容验证器,请按以下步骤操作:

  1. 点击 Looker 主菜单图标,然后选择开发(如果开发菜单尚未显示)。
  2. 开发菜单中,选择内容验证器
  3. 在“内容验证器”页面上,点击验证

    内容验证器会显示选择要验证的项目对话框。

  4. 选择要验证的项目对话框中,执行以下操作之一:

    • 如需对所有 LookML 项目运行验证器,请保持选择项目字段不变(不选择任何项目),然后点击下一步
    • 如需对一个或多个特定的 LookML 项目运行验证器,请点击选择项目下拉菜单,选择要验证的项目,然后点击下一步

    内容验证器会显示选择要验证的文件夹对话框。

  5. 选择要验证的文件夹对话框中,执行以下操作之一:

    • 如需对所有内容文件夹运行验证器,请保持文件夹选择器不变(不选择任何文件夹),然后点击下一步
    • 如需对一个特定的内容文件夹(及其子文件夹,如果有)运行验证器,请使用文件夹选择器选择要验证的文件夹,然后点击下一步

    查看所选内容对话框会显示您选择要验证的项目和文件夹。

  6. 查看所选内容对话框中,点击验证

内容验证器将对您指定的内容运行验证,然后显示结果。如需了解如何查看结果,请参阅查看内容验证结果部分。

查看内容验证结果

内容验证器完成验证后,会显示一个错误表格。验证结果的范围限定为运行内容验证器时选择的项目和文件夹。

内容验证结果会显示使用不存在或找不到的模型名称、Explore 名称、视图名称或字段名称的 Looker 内容。如需详细了解内容验证程序可以查找和验证的 LookML 元素,请参阅使用内容验证程序修正错误部分。

验证结果基于您运行验证器时所处模式下可用的 LookML。如果您处于生产模式,验证结果将反映已推送到生产环境的所有 LookML。如果您处于开发模式,验证结果将反映您保存的 LookML,即使该 LookML 尚未推送到生产环境也是如此。

错误表格会显示每种错误,以及包含相应错误的 Look 和图块的列表,还会显示导致相应错误的底层模型和探索。

“内容验证器”窗口,其中显示了验证结果中的多个错误

您可以使用页面右上角的分组依据标签页来更改错误表的布局:

  • 错误:列出每个错误,并将存在相应错误的 Looker 内容归为一组。如果您想一次性修正多篇内容中的同一错误,此功能会非常有用。
  • 文件夹:列出每个文件夹,并将存在错误的 Looker 内容归为一组。如果您只想修正特定文件夹中的错误,此功能非常有用。
  • 内容:列出存在错误的每项内容,并将其错误归为一组。如果您想一次性修正某个 Look、图块、过滤条件等中的所有错误,此功能会非常有用。

内容名称旁边的图标用于标识内容类型:

  • 信息中心上的功能块图标。 - 信息中心图块
  • 信息中心上的提醒图标。 - 信息中心提醒
  • 信息中心中的“安排”图标或 Look 中的“安排”图标。 - 安排信息中心或 Look 的发送时间
  • 数字面板上的过滤条件图标。 - 过滤信息中心或监听信息中心过滤条件的平铺上的字段(如需了解如何配置平铺以监听信息中心过滤条件,请参阅添加和修改用户定义的信息中心过滤条件文档页面)

错误可能是由 LookML 中的有意更改以及拼写错误或缺少联接引起的。

对于每一行,Looker 都会提供替换按钮或移除按钮,或者同时提供这两个按钮,具体取决于错误类型。这些按钮可用于修复错误,如需了解详情,请参阅使用内容验证器修复错误。如需调整错误,您可以使用错误表格中每一行中的替换移除按钮,如下所示:

  • 替换:Looker 会为每个错误提供替换按钮(如需了解如何使用内容验证器替换名称,请参阅本页后面的替换字段、视图、Explore 和模型的名称部分)。
  • 移除:对于 Look 或平铺的数据部分中包含字段名称的错误,Looker 还会显示移除按钮(如需了解如何使用内容验证器移除名称,请参阅本页后面的移除字段名称部分)。

分组依据设置会影响替换移除按钮的应用对象,具体取决于该设置,这两个按钮可应用于单个商品(外观或图块),也可应用于多个商品:

  • 如果您按错误分组,这些按钮将应用于 Looker 实例中所有 Look 和图块中出现的所有相应错误,从而让您只需一次操作即可修复所有相应错误。
  • 如果您按文件夹内容进行分组,这些按钮将应用于单个 Look 或平铺中的一个错误实例,以便您单独考虑每个错误实例。

例如,错误表按错误分组,并显示了 3 个具有未知探索(名为 customers)的内容实例。针对这三项内容提供的操作是替换。点击替换会影响所有三个包含错误 3 x Unknown explore 'customers' 的内容实例。

在某些情况下,内容可能存在多个错误。例如,一个错误表按内容分组,并显示名为“订单详情”的内容。错误列中显示了 4 个 Unknown field 错误,每个错误在操作列中都有自己的替换移除操作按钮。

此外,如果您按内容进行分组,还可以选择删除 Look

替换字段、视图、探索和模型的名称

内容验证结果包含一个“替换”按钮,适用于以下类型的元素,以便您可以重命名这些元素:

对于上述任何错误,您都可以使用内容验证器替换内容中与出错属性相同或比出错属性更一般的属性:

  • 如果某个字段导致了错误,您可以替换或移除该字段,也可以替换视图、探索或模型名称。
  • 如果某个探索名称导致错误,您可以替换该探索名称或模型名称。
  • 如果模型名称导致错误,您可以替换该模型名称。

以下说明了如何使用内容验证器替换模型中元素的名称:

  1. 点击验证以运行内容验证器。
  2. 选择一个分组依据设置,以选择错误的分组方式。例如,您可以按错误进行分组,以便同时调整多件商品。
  3. 在错误表格中,点击要更正的错误旁边的替换按钮,打开在内容中更新对话框。

  4. 更新内容对话框的类型部分中,选择要更改的 LookML 元素类型:字段、视图、Explore 或模型。Looker 会针对每种错误显示相应的选项。

  5. 名称部分中,验证要替换的商品的名称。内容验证器会自动填写此信息。

  6. 替换名称部分中,输入商品的新名称。

  7. 如果您按错误进行了分组,并且有多个项目会受到影响,您可以点击显示内容,查看内容验证器将更新的项目列表。

  8. (可选)您可以清除任何列出项目旁边的复选框,以保持其名称不变。

  9. 如要进行更改,请点击替换

移除字段名称

如果 Look 或平铺的数据部分中存在包含字段名称的错误,错误表格会在错误右侧提供一个移除按钮。您可以使用内容验证器移除以下字段:

  • 在 Look 或信息中心图块的数据部分中
  • 在可视化图表配置中引用,例如柱状图的序列标签页的自定义设置区域
  • 由信息中心图块引用,用于监听信息中心过滤条件(在过滤条件配置窗口的要更新的图块标签页中配置,如添加和修改用户定义的信息中心过滤条件文档页面中所述)

您无法使用内容验证器从自定义过滤条件自定义字段表格计算中移除字段,因为通常需要进行其他更改才能使表达式正常运行。请改用内容验证错误消息来查找需要修正自定义过滤条件、自定义字段和表格计算表达式的位置,然后根据需要修改表达式。

  1. 点击验证以运行内容验证器。
  2. 选择一个分组依据设置,以选择错误的分组方式。例如,您可以按错误进行分组,以便同时调整多个商品(外观、图块或两者)。
  3. 在错误表格中,点击要更正的字段错误旁边的移除,打开从内容中移除字段对话框。

  4. 从内容中移除字段对话框的字段部分中,验证要移除的商品的名称。内容验证器会自动填写此字段。

  5. 如果您按错误进行了分组,并且有多个商品(外观、图块或两者都有),则可以点击显示内容,查看内容验证器将更新的商品列表。

  6. (可选)您可以清除任何外观或功能块旁边的复选框,以保持其名称不变。

  7. 点击移除字段即可进行更改。

删除 Look

如果您按内容对错误表进行分组,则可以选择删除表中的 Look。

如需使用内容验证器删除 Look,请执行以下操作:

  1. 点击验证以运行内容验证器。
  2. 内容对表格进行分组。
  3. 在错误表格中,点击要删除的 Look 或 Looks 旁边的选择框。
  4. 点击错误表格顶部的删除所有选定的 Look 按钮。
  5. 在确认框中点击确定,以删除所选的 Look。

使用内容验证器查找和替换

内容验证器还可用于搜索和替换模型、探索和字段的名称。例如,您可能认为某个字段比另一个字段更适合,并希望在项目中进行替换,即使没有错误也是如此。如需查看内容验证器可以搜索和替换的元素的完整列表,请参阅替换字段、视图、explore 和模型的名称部分。

如需将内容验证器用作查找和替换工具,请执行以下操作:

  1. 在“内容验证器”界面上,点击在所有内容中查找和替换,打开在内容中更新对话框。
  2. 选择要更改的 LookML 元素的类型(字段、视图、探索或模型)。
  3. 输入要替换的商品的名称
  4. 为字段、视图、探索或模型输入替换名称
  5. 点击替换即可进行更改。

注意事项

计划重新运行内容验证,以查看您所做任何修复的结果。

请注意以下有关内容验证器的事项:

  • 对于视图、探索或模型,您可以更改其名称,但无法完全移除其名称。如需查看可使用内容验证器移除的项的列表,请参阅移除字段名称部分。
  • 表计算只能引用 Look 或图块查询中包含的字段。这意味着,如果您从 Look 或平铺的查询中移除某个字段,但表格计算仍在使用该字段,您会收到新的内容验证错误。
  • 已删除并位于回收站文件夹中的 Look 将不会进行验证。如果您想验证已删除的 Look,Looker 管理员必须先恢复该 Look。
  • 如果您处于开发模式,验证结果将反映您已保存的 LookML,即使该 LookML 尚未推送到生产环境也是如此。不过,您使用内容验证器所做的任何更改都会影响以生产环境模式查看内容的用户。建议您在运行内容验证器之前切换到生产环境模式。