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