内容验证器会在您的 LookML 中搜索 Looker 内容(Look 和信息中心)中引用的模型、探索和字段名称。该工具非常有用,可用于验证 LookML 引用、在您更改 LookML 后修正其中的错误,以及更新项目中 LookML 元素的名称。
您必须拥有 develop
权限才能使用内容验证器。
原因在于,当开发者更改底层 LookML 时,需要能够修复可能损坏的内容。
如需打开内容验证器,请从主导航面板的开发菜单中选择内容验证器。您可以通过以下两种方式使用内容验证器:
- 点击验证,查找并修正因 LookML 模型更改而导致的错误。
- 点击在所有内容中查找和替换,无论 Looker 内容是否存在错误,都可以在 Looker 内容中查找和替换模型、探索或字段名称。
使用内容验证器前的准备工作
使用内容验证功能进行更改时,您必须格外小心。内容验证器没有撤消功能,并且可能会影响许多 Look 和信息中心以及其从此处探索链接。如果您确实出错了,应尽快尝试更正,以免因进行其他更改而难以找出受影响的“外观”。
此外,在使用内容验证工具时,请考虑时间因素。将开发更改推送到生产环境时,您应大致同时修复受影响的主题和功能块,以尽可能缩短它们出现问题的时间。如果您过早根据开发模式中的工作修正了 Look 和图块,那么在您推送更改之前,这些内容在用户看来会是损坏的。同样,如果您推送更改后很长时间才修复了外观和功能块,那么在您修复之前,用户会看到外观和功能块损坏。
使用内容验证程序修正错误
内容验证器是一款实用的工具,可用于查找和修正因 LookML 更改而导致的错误。例如,如果您将字段名称从 customer
更改为 user
,则包含 customer
字段的任何外观或信息中心功能块都将无法正常运行(除非您使用了 alias
参数)。内容验证器会列出对 customer
字段的所有引用,还会提供替换或移除按钮来修正错误。
运行内容验证器时,它会验证您的数据集和信息中心对 LookML 模型、探索、视图和字段的所有引用,并会针对内容对未知 LookML 对象的任何引用显示错误。
内容验证器不会针对以下内容显示错误:
- 已删除且位于回收站中的 Look。如果您想验证已删除的 Look,您的 Looker 管理员必须先恢复该 Look。
基于您无
develop
权限的 LookML 模型的内容。您只能对具有develop
权限(您可以在 Looker IDE 中看到的模型)的模型生成的内容使用内容验证器。如需了解模型权限,请参阅角色文档页面。
运行内容验证器
如需提高内容验证器的性能,Looker 管理员可以在您的实例上启用内容验证器范围设置实验室功能。启用此实验性功能后,您可以将验证范围限定为特定的 LookML 项目和特定的内容文件夹。如需了解如何设置验证范围,请参阅设置内容验证器的范围部分。
如果您的实例上未启用内容验证器 Scoping Labs 功能,请按以下步骤运行内容验证:
- 点击 Looker Main menu(主菜单)图标 ,然后选择 Develop(开发),如果 Develop(开发)菜单尚未显示。
- 在开发菜单中,选择内容验证器。
- 在“内容验证器”页面上,点击验证。
内容验证器会对您拥有 develop
权限的所有基于 LookML 项目的内容运行验证,然后显示结果。如需了解如何查看结果,请参阅查看内容验证结果部分。
内容验证器的范围
启用内容验证器范围设置实验室功能后,您可以将验证范围限定为特定的 LookML 项目和特定的内容文件夹(包括其子文件夹,如果有)。这有助于提高内容验证器的性能。
请注意内容验证器的范围设置:
- 如果您未指定文件夹或 LookML 项目,则验证将不受范围限制。内容验证器将验证您拥有
develop
权限的所有基于模型的内容。 - 如果您指定了内容文件夹,内容验证器会对该内容文件夹及其所有子文件夹(如果有)运行验证。
- 如果您指定了内容文件夹和一个或多个 LookML 项目,系统会同时应用这两种条件:内容验证器会仅针对基于您选择的 LookML 项目的文件夹(及子文件夹)中的内容进行验证。
- 信息中心提醒、信息中心时间表和 Look 时间表不会存储在内容文件夹中。因此,如果您将内容验证范围限定为某个文件夹,内容验证器将不会验证任何时间表或提醒。
如果您指定了 LookML 项目,内容验证器会通过查看指定项目的源 LookML 以及为每个项目配置的模型(您可以在 LookML 项目页面上看到这些模型)来确定项目的关联模型。如果某个模型文件已从 LookML 项目中删除,并且在 LookML 项目页面上未显示为项目中的模型,则内容验证器不会显示与该已删除模型相关的内容错误。
如需在启用了内容验证器范围设置的 Looker 实例上运行内容验证器,请按以下步骤操作:
- 点击 Looker Main menu(主菜单)图标 ,然后选择 Develop(开发),如果 Develop(开发)菜单尚未显示。
- 在开发菜单中,选择内容验证器。
在“内容验证器”页面上,点击验证。
内容验证器会显示选择要验证的项目对话框。
在选择要验证的项目对话框中,执行以下操作之一:
- 如需对所有 LookML 项目运行验证器,请将选择项目字段保持不变,不选择任何项目,然后点击下一步。
- 如需对一个或多个特定的 LookML 项目运行验证器,请点击选择项目下拉菜单,选择要验证的项目,然后点击下一步。
内容验证器会显示选择要验证的文件夹对话框。
在选择要验证的文件夹对话框中,执行以下操作之一:
- 如需对所有内容文件夹运行验证程序,请将文件夹选择器保持不变,不选择任何文件夹,然后点击下一步。
- 如需对一个特定的内容文件夹(及其子文件夹,如果有)运行验证程序,请使用文件夹选择器选择要验证的文件夹,然后点击下一步。
Review Selections 对话框会显示您选择要验证的项目和文件夹。
在检查选择对话框中,点击验证。
内容验证器将对您指定的内容运行验证,然后显示结果。如需了解如何查看结果,请参阅查看内容验证结果部分。
查看内容验证结果
内容验证器完成验证后,会显示一个错误表格。如果 Looker 管理员已在您的实例上启用内容验证器范围设置实验室功能,则验证结果的范围将限定为您在运行内容验证器时选择的项目和文件夹。
内容验证结果会显示使用不存在或无法找到的模型名称、探索名称、视图名称或字段名称的 Looker 内容。如需详细了解内容验证程序可以查找和验证的 LookML 元素,请参阅使用内容验证程序修正错误部分。
验证结果基于您在运行验证器时所处模式下可用的 LookML。如果您使用的是正式版模式,验证结果将反映已推送到正式版的所有 LookML。如果您使用的是开发模式,验证结果将反映您保存的 LookML,即使该 LookML 尚未推送到生产环境也是如此。
错误表会显示每个错误,以及包含该错误的各个外观和功能块的列表,以及导致错误的底层模型和“探索”功能。
您可以使用页面右上角的按标签页来更改错误表的布局:
- 错误:列出每个错误,并将包含错误的 Looker 内容分组在一起。如果您想一次性修正多篇内容中的同一错误,此功能非常有用。
- 文件夹:列出每个文件夹,将存在错误的 Looker 内容分组在一起。如果您只想修复特定文件夹中的错误,这将非常有用。
- 内容:列出存在错误的每项内容,并将其错误归为一组。如果您想修复单个外观、功能块、过滤条件等中的所有错误,这会非常有用。
- 信息中心图块
- 信息中心提醒
- 为信息中心或 Look 安排发送时间
- 数字面板的过滤条件,或监听数字面板过滤条件的功能块中的字段(如需了解如何配置功能块以监听数字面板过滤条件,请参阅添加和修改用户定义的数字面板过滤条件文档页面)
错误可能是由 LookML 中的有意更改、拼写错误或缺少联接所致。
对于每行,Looker 都会提供 Replace 按钮或 Remove 按钮,或同时提供这两个按钮,具体取决于错误类型。这些按钮提供了用于修正错误的功能,使用内容验证器修正错误中对此进行了更详细的介绍。如需调整错误,您可以使用错误表格中每行的替换和移除按钮,如下所示:
- 替换:Looker 会针对每个错误提供替换按钮(如需了解如何使用内容验证器替换名称,请参阅本页下文中的替换字段、视图、探索和模型的名称部分)。
- 移除:如果“Look”或功能块的数据部分出现字段名称错误,Looker 还会显示移除按钮(如需了解如何使用内容验证器移除名称,请参阅本页下文中的移除字段名称部分)。
根据分组依据设置,替换和移除按钮将应用于单个项(外观或功能块),或多个项:
- 如果您按错误进行分组,这些按钮会应用于 Looker 实例中所有外观和功能块中出现的该错误的所有实例,这样您就可以在一次操作中修复所有实例。
- 如果您按文件夹或内容进行分组,则这些按钮会应用于单个外观或功能块中出现的一次错误,以便您单独考虑每次出现的错误。
例如,错误表格按错误进行分组,并显示了三个内容实例,其中包含名为 customers
的未知探索。系统为这三项内容提供了替换操作。点击替换会影响所有三个包含错误 3 x Unknown explore 'customers'
的内容实例。
在某些情况下,内容可能存在多项错误。例如,错误表格按内容分组,并显示名为订单详情的内容。错误列中显示了四个 Unknown field
错误,每个错误在操作列中都有自己的替换和移除操作按钮。
此外,如果您按内容进行分组,则可以选择删除外观。
替换字段、视图、探索和模型的名称
内容验证结果会针对以下类型的元素显示替换按钮,以便您重命名这些元素:
- Look 和信息中心功能块中的模型名称
- 探索 Look 和信息中心图块中的名称
- 在自定义过滤条件或表格计算中查看名称
- 在 Look 和信息中心功能块中查看名称
- 字段名称:
- 在“外观”的数据部分中
- 在基于查询的信息中心功能块中
- 在表计算中引用
- 在自定义过滤条件中引用
- 在自定义字段中引用
- 在可视化图表配置中引用,例如柱状图的“系列”标签页的自定义区域
- 由信息中心功能块引用,用于监听信息中心过滤条件(此操作在过滤条件配置窗口的要更新的功能块标签页中进行配置,如添加和修改用户定义的信息中心过滤条件文档页面中所述)
对于上述任何错误,您都可以使用内容验证器替换内容中等于或更通用的属性:
- 如果某个字段导致错误,您可以替换或移除该字段,也可以替换视图、“探索”或模型名称。
- 如果探索名称导致错误,您可以替换探索名称或模型名称。
- 如果模型名称导致错误,您可以替换模型名称。
下面介绍了如何使用内容验证器替换模型中元素的名称:
- 点击验证以运行内容验证器。
- 选择分组依据设置,以选择错误的分组方式。例如,您可以按错误进行分组,以便同时调整多项内容。
在错误表格中,点击要更正的错误旁边的替换按钮,以打开更新内容对话框。
在更新内容对话框的类型部分中,选择要更改的 LookML 元素的类型:字段、视图、“探索”或模型。Looker 会针对每种错误显示适当的选项。
在名称部分,验证要替换的项目的名称。内容验证器会自动填充此信息。
在替换名称部分,输入项目的新名称。
如果您按错误进行分组,并且有多个项目会受到影响,则可以点击显示内容,查看内容验证器将更新的项目列表。
(可选)您可以清除所列任何项目旁边的复选框,以使其名称保持不变。
如要进行更改,请点击替换。
移除字段名称
对于“外观”或功能块的数据部分中包含字段名称的错误,错误表会在错误右侧提供移除按钮。您可以使用内容验证器移除以下字段:
- 在“数据”部分中查看数据
- 在可视化图表配置中引用,例如柱状图的“系列”标签页的自定义区域
- 由信息中心功能块引用,用于监听信息中心过滤条件(此操作在过滤条件配置窗口的要更新的功能块标签页中进行配置,如添加和修改用户定义的信息中心过滤条件文档页面中所述)
您无法使用内容验证器从自定义过滤条件、自定义字段或表格计算中移除字段,因为通常需要进行其他更改才能让表达式正常运行。请改用内容验证错误消息来查找需要修正自定义过滤条件、自定义字段和表格计算表达式的位置,然后根据需要修改表达式。
- 点击验证以运行内容验证器。
- 选择分组依据设置,以选择错误的分组方式。例如,您可以按错误进行分组,以便同时调整多个项(外观和功能块)。
在错误表格中,点击要更正的字段错误旁边的移除,以打开从内容中移除字段对话框。
在从内容中移除字段对话框的字段部分,验证要移除的项目的名称。内容验证器会自动填写此字段。
如果您按错误进行分组,并且存在多个项目(外观和/或功能块),则可以点击显示内容,查看内容验证程序将更新的项目列表。
(可选)您可以清除任何外观或功能块旁边的复选框,以保持其名称不变。
点击移除字段进行更改。
删除 Look
如果您按内容对错误表格进行分组,则可以选择删除表格中的外观。
如需使用内容验证器删除外观,请执行以下操作:
- 点击验证以运行内容验证器。
- 按内容对表格进行分组。
- 在错误表格中,点击要删除的“外观”或“外观”旁边的选择复选框。
- 点击错误表格顶部的删除所有所选外观按钮。
- 点击确认框中的 OK(确定)以删除所选的妆容或妆容。
使用内容验证器查找和替换
内容验证器还可用于搜索和替换模型、探索和字段的名称。例如,您可能决定更喜欢某个字段,并希望在项目中进行替换,即使没有错误也是如此。如需查看内容验证器可以搜索和替换的元素的完整列表,请参阅替换字段、视图、探索和模型的名称部分。
如需将内容验证器用作查找和替换工具,请执行以下操作:
- 在“内容验证器”屏幕上,点击在所有内容中查找并替换,以打开更新内容对话框。
- 选择要更改的 LookML 元素的类型(字段、视图、“探索”或模型)。
- 输入要替换的项的名称。
- 为字段、视图、探索或模型输入替换名称。
- 点击替换进行更改。
需要考虑的事项
请计划重新运行内容验证,以查看您所做的任何修复的结果。
请注意以下有关内容验证工具的事项:
- 对于视图、探索或模型,您可以更改其名称,但无法彻底移除其名称。请参阅移除字段名称部分,查看您可以使用内容验证器移除的项的列表。
- 表格计算只能引用查询中包含的 Look 或图块的字段。这意味着,如果您从数据卡片或图块的查询中移除某个字段,但表格计算仍使用该字段,则会收到新的内容验证错误。
- 已删除且位于回收站文件夹中的 Look 不会进行验证。如果您想验证已删除的 Look,您的 Looker 管理员必须先恢复该 Look。
- 如果您使用的是开发模式,验证结果将反映您保存的 LookML,即使该 LookML 尚未推送到生产环境也是如此。不过,您使用内容验证工具所做的任何更改都会影响在正式版模式下查看内容的用户。建议在运行内容验证器之前切换到生产模式。