内容验证

内容验证器会在 LookML 中搜索 Looker 内容中引用的模型、探索和字段名称。这是一款功能强大的工具,可用于验证 LookML 引用、修复更改后的 LookML 中的错误,以及更新项目中 LookML 元素的名称。

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

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

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

使用内容验证器前

在使用内容验证功能进行更改时,必须非常小心。内容验证器没有撤消功能,它可能会影响许多样式和信息中心,以及它们的从此处探索链接。如果您确实出错了,则应尽快进行更正,然后再进行其他更改,从而难以隔离受影响的 Look。

此外,使用内容验证器时,请考虑时间安排。将开发更改推送到生产环境时,您应在大致相同的时间修复受影响的外观和图块,将其在尽可能短的时间内损坏。如果您过早修正外观和卡片,系统会根据您在开发模式中的工作显示这些图块,直至您推送更改为止。同样,如果您等到修复后很长时间才修正外观和图块,“样式”和图块会向用户显示,直到您修正它们为止。

如果您通过内容验证工具更改在信息中心用作过滤条件的字段名称,请务必查看信息中心时间表的过滤条件部分,并根据需要更新过滤条件以反映您所做的更改。如果安排投放的信息中心包含不再起作用的过滤条件(例如,如果引用的字段已更改),则时间表递送将失败,并且日程所有者会收到一条过滤条件无效的错误消息。

使用内容验证器更改合并结果信息中心图块中使用的“探索”时,请务必小心,因为内容验证器会将所有更改应用于合并结果图块中包含的所有探索。例如,如果不更改合并结果中包含的所有探索中的模型名称,您将无法使用内容验证器在合并结果图块中的单个探索中更改模型名称。

使用内容验证器修正错误

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

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

内容验证器不会显示以下各项错误:

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

运行内容验证器

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

如需使用内容验证器验证您的 LookML,请按以下步骤操作:

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

查看内容验证结果

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

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

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

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

错误可能是由于 LookML 中的故意更改导致的,也可能是拼写错误或联接缺失。

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

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

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

  • 如果您按错误分组,按钮会应用到 Looker 实例中所有 Look 和图块中出现的所有错误 - 这样您就可以在一次操作中修复所有发生的错误。
  • 如果您按 FolderContent 分组,按钮适用于单个 Look 或 tile 中的一次错误,使您能够单独考虑每次出现的错误。

在以下示例中,表按 Error 进行分组,因此按钮会影响相应错误的所有实例:

在下面的示例中,表按 Content 分组,因此按钮仅影响一段内容的一个错误实例:

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

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

内容验证结果会针对以下类型的元素提供替换按钮,以便您重命名这些元素:

如果出现上述任何错误,您可以使用内容验证器替换相应内容的一个属性,使其等于或比出现错误的属性更通用:

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

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

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

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

  5. 确认您要替换的内容的名称。内容验证器会自动填写此项。

  6. 输入相应项的新名称。

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

  8. (可选)您可以取消选中列出的任意项目旁边的复选框,保留其名称不变。

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

移除字段名称

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

  • 在“查看”或“信息中心”图块的数据部分中
  • 在可视化配置中引用,例如柱形图的系列标签页的自定义区域
  • 由信息中心图块引用,以监听信息中心过滤条件(可在过滤条件配置窗口的“卡片更新”标签页中进行配置,详见添加和修改用户定义的信息中心过滤条件文档页面)

您无法使用内容验证器从自定义过滤条件自定义字段以及表格计算中移除字段,因为通常情况下,您需要做出额外更改才能使表达式正常运行。而是使用内容验证错误消息来查找需要修正自定义过滤器、自定义字段和表格计算表达式的位置,然后根据需要重新处理表达式。

  1. 点击验证以运行内容验证器。
  2. 点击分组依据设置即可选择错误分组的方式。在本例中,我们按“错误”分组,以便同时调整多项内容(样式、图块或二者)。
  3. 在错误表格中,点击您要更正的字段错误旁边的移除按钮。

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

  5. 如果您已按错误分组,并且有多个项目(样式和/或图块),您可以点击显示内容来查看内容验证程序会更新的项目列表。

  6. (可选)您可以取消选中任何 Look 或 Tiles 旁边的复选框,以保持其名称不变。

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

删除样式

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

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

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

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

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

内容验证器还可用于搜索和替换模型、探索和字段的名称。例如,您可能决定优先使用其中一个字段,并希望在项目中进行替换,即使没有错误也是如此。上方的替换字段、视图、探索和模型的名称部分提供了内容验证器可以搜索/替换的元素的完整列表。

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

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

  1. 在“内容验证器”屏幕上,点击在所有内容中查找和替换

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

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

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

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

注意事项

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

对于内容验证器,请注意以下事项:

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