内容验证

内容验证程序会在您的 LookML 中搜索您的 Looker 内容中引用的模型、探索和字段名称。这是一款非常有用的工具,可用于验证 LookML 引用、在做出更改后修复 LookML 中的错误,以及更新整个项目中的 LookML 元素的名称。

您必须拥有 develop 权限才能使用内容验证工具。

如需打开内容验证工具,请从开发菜单中选择内容验证工具

在这里,您可以通过两种方式使用内容验证程序:

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

使用内容验证进行更改时,您必须非常小心。内容验证工具没有撤消功能,它可能会影响许多外观和信息中心,以及此处的探索链接。如果您确实出错了,应该尽快尝试进行修正,然后再进行其他更改,导致更难隔离受影响的 Look。

此外,在使用内容验证工具时,请考虑时间。将开发变更推送至生产环境时,您应大致在同一时间修复受影响的外观和图块,使其在尽可能短的时间内损坏。如果您根据开发模式中的作品提前修复外观和图块,在您推送相应更改之前,这些图块和图块对用户来说可能会损坏。同理,如果您在推送相应更改之后再长时间修正“外观”和图块,“外观”和“图块”就会对用户显示为损坏,直到您修正为止。

如果您使用内容验证工具更改在信息中心内用作过滤条件的字段名称,请务必查看信息中心时间表的过滤条件部分,并根据需要更新过滤条件,以反映您所做的更改。如果安排定期发送的信息中心包含不再起作用的过滤条件(例如,如果引用字段发生变化),则预定的递送操作将失败,并且计划所有者将收到过滤器无效的错误消息。

使用内容验证器对合并结果信息中心图块中使用的“探索”部分时,请务必谨慎,因为内容验证器会对合并结果图块中包含的每个“探索”应用任何更改。例如,如果不更改合并结果中包含的所有“探索”中显示的模型名称,就不能使用内容验证工具在合并结果图块中的单个“探索”部分更改模型名称。

使用内容验证程序修正错误

内容验证工具是一款非常实用的工具,可用于查找和修复 LookML 更改导致的错误。例如,如果您将字段名称从 customer 更改为 user,那么包含 customer 字段的所有 Looks 或信息中心图块都将无法正常工作(除非您使用 alias 参数)。内容验证工具将列出对 customer 字段的所有引用,并提供一种简单的方法来修正错误。

运行内容验证程序时,它会验证您的 Look and Dashboard 对 LookML 模型探索视图字段进行的所有引用,并会在您的内容对未知 LookML 对象的任何引用显示错误。

内容验证工具不会针对以下项显示错误:

  • 您没有 develop 权限的内容。Content Validator 的作用域仅限于您的权限,因此您只能对具有 develop 权限的内容(您可以在 Looker IDE 中看到的模型)使用内容验证程序。如需了解模型权限,请参阅角色文档页面。
  • 已删除且位于回收站中的样式。如果您想验证已删除的 Look,您的 Looker 管理员必须先恢复 Look。

运行内容验证程序

请阅读使用内容验证器前的准备工作部分,然后再继续。内容验证工具可能会影响您的 Looker 内容的许多部分,因此请务必提前规划和考虑。

如需使用内容验证器验证您的 LookML,请执行以下操作:

  1. 点击验证按钮。
  2. 点击分组依据标签页可更改错误的分组方式:
    • 错误:列出每个错误,将有错误的 Looker 内容组合在一起。如果您想一次在多项内容中修复同一错误,这会非常有用。
    • 文件夹:列出每个文件夹,将出错的 Looker 内容组合在一起。如果您只想修正特定文件夹中的错误,这会非常有用。
    • 内容:列出每项包含错误的内容,将其错误分为一组。如果您想修正单个 Look、tile、filter 等错误,这会非常有用。
  3. 如果您处于开发模式,请务必了解更改外观和图块的影响。如果您在发布重大更改之前“修正”它们,那么在一段时间内,修复程序会过早,用户将遇到损坏的外观或图块。Looker 会显示一条警告消息,帮助您记住这一点。
  4. 错误表会显示所有错误,以及包含错误的 Looks 和图块列表,以及产生错误的基础模型和探索。您可以使用页面右上角的分组依据标签页来更改错误表的布局。
  5. Looker 为每行提供替换和/或移除按钮,具体取决于错误类型。这些按钮提供了修正错误的功能,下文对此进行了详细说明。

查看内容验证结果

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

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

  • - 信息中心图块
  • - 信息中心提醒
  • - 信息中心或 Look 时间表
  • - 用于过滤信息中心的图块,或用于监听信息中心过滤条件的字段(如需了解如何配置图块以监听信息中心过滤条件,请参阅添加和修改用户定义的信息中心过滤条件文档页面)

验证结果基于您运行验证程序时所处模式中提供的 LookML。如果您处于生产模式,验证结果将反映已推送到生产环境的所有 LookML。如果您处于开发模式,那么验证结果将反映您保存的 LookML,即使它尚未推送到生产环境。

错误可能是您的 LookML 中的故意更改,或者是拼写错误或联接缺失。

要调整错误,您可以使用错误表每一行中的按钮:

Looker 会针对每个错误提供替换按钮(请参阅下文中的“替换字段、视图、探索和模型的名称”部分,了解如何使用内容验证程序替换名称)。如果 Look 或图块的 Data 部分中存在字段名称错误,Looker 还会显示 Remove 按钮(请参阅下文中的“移除字段名称”部分,了解如何使用内容验证程序移除名称)。

这些按钮将应用于单个项(外观或图块),或应用于多个项,具体取决于您的分组依据设置:

  • 如果您按错误分组,按钮将应用于 Looker 实例的所有外观和图块中出现的所有错误,从而使您能够通过一次操作修正所有错误。
  • 如果您按文件夹内容分组,按钮会应用到单个外观或图块中的一次错误 - 方便您单独考虑每次出错。

在下面的示例中,表格按 Error 分组,因此按钮会影响该错误的所有实例:

下面是按 Content 分组表格的示例,因此这些按钮仅影响针对一条内容的错误实例:

此外,如果您按内容分组,还可以选择删除样式

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

内容验证结果包含以下类型的元素的替换按钮,以便您重命名这些元素:

对于其中的任何错误,您都可以使用内容验证器替换与错误属性相等或更通用的内容属性:

  • 如果字段出现错误,您可以替换/移除该字段,也可以替换视图、探索或模型名称。
  • 如果“探索”名称有误,您可以替换“探索”名称或模型名称。
  • 如果模型名称有误,您可以替换模型名称。

下面介绍如何使用内容验证器替换模型中元素的名称:

  1. 点击验证以运行内容验证工具。
  2. 点击分组依据设置,选择错误分组方式。在此示例中,我们按“错误”进行分组,以便同时调整多个项目。
  3. 在错误表中,点击要更正的错误旁边的替换按钮。

  4. 在对话框中,选择您想更改的 LookML 元素类型:字段、视图、探索或模型。Looker 会针对每个错误显示合适的选项。

  5. 验证您要替换的内容的名称。内容验证程序会自动填写此内容。

  6. 为该项输入新名称。

  7. 如果您已按错误分组,且存在多个项目将受到影响,则可以点击显示内容,查看内容验证程序将更新的项目列表。

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

  9. 点击替换按钮进行更改。

移除字段名称

对于 Look 或图块的 Data 部分中的字段名称错误,错误表会在错误右侧提供移除按钮。您可以使用内容验证器移除符合以下条件的字段:

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

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

  1. 点击验证以运行内容验证工具。
  2. 点击分组依据设置,选择错误分组方式。在本例中,我们按错误分组,以便同时调整多个项目(外观和/或图块)。
  3. 在错误表中,点击要更正的字段错误旁边的移除按钮。

  4. 验证要移除的商品的名称。内容验证程序会自动填写此内容。

  5. 如果您已按 Error 进行分组,并且有多个项目(外观、图块或两者皆有),则可以点击显示内容,查看内容验证程序将更新的项目列表。

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

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

删除样式

如果您按内容对错误表格进行分组,则可以选择在该表格中删除“样式”。

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

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

如果您不小心删除了某个 Looker,您的 Looker 管理员或许可以为您恢复。Looker 将已删除的内容存储在回收站中,直到其维护团队在回收站中将清空的回收站清空。

使用内容验证程序查找和替换

内容验证器还可用于搜索和替换模型、探索和字段的名称。例如,您可能决定首选某个字段,而想在项目中进行替换,即使错误没有出现。上文中的替换字段、视图、探索和模型的名称部分提供了内容验证程序可以搜索/替换的完整元素列表。

请阅读使用内容验证器前的准备工作部分,然后再继续。内容验证工具可能会影响您的 Looker 内容的许多部分,因此请务必提前规划和考虑。

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

  1. 在内容验证工具屏幕上,点击查找并替换所有内容

  2. 选择您要更改的 LookML 元素的类型(字段、视图、探索或模型)。

  3. 输入要替换的内容的名称

  4. 为字段、视图、探索或模型输入替换名称

  5. 点击替换按钮进行更改。

注意事项

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

对于内容验证器,请注意以下几点:

  • 对于数据视图、探索或模型,您可以更改其名称,但无法完全移除它们的名称。请参阅移除字段名称部分,了解您可以使用内容验证工具移除的内容的列表。
  • 表格计算只能引用查询或图块的查询中包含的字段。这意味着,如果您从“查看”或“图块”的查询中移除某个字段,但表格计算仍会使用该字段,您会收到新的内容验证错误。
  • 系统不会删除回收站页面中已删除的外观。如果您想验证已删除的 Look,您的 Looker 管理员必须先恢复 Look。
  • 如果您处于开发模式,那么即使已保存的 LookML 尚未推送到生产环境,验证结果也会反映该结果。不过,您使用内容验证工具所做的任何更改都会影响在生产模式下查看内容的用户。考虑先切换到生产模式,然后再运行内容验证器。