错误:重新定义字段

在处理 LookML 文件时,您可能会在使用内容验证器验证代码后遇到 Redefinition of field 'view_name.field_name' 格式的错误。

运行 LookmL 验证程序后,该错误将显示在 Project Health 面板LookML 错误下。

本页将帮助您了解该错误的含义、常见原因以及如何排查问题。

导致“重新定义字段”错误的常见原因

错误 Redefinition of field 'view_name.field_name' 表示 Looker 发现了两个字段的视图和字段名称组合完全相同。

导致该错误的常见原因有以下几种:

  • 您不小心在同一视图中为两个字段命名了同名。可以是:
    • 两个名称相同的维度
    • 两个测量重名
    • 1 个维度和 1 个同名测量
  • 您在数据视图中复制并粘贴了某个字段,但忘记更改名称。
  • 您第二次加入“探索”视图,但忘记为加入该视图指定其他名称。
  • 您使用 LookML 生成器创建了 LookML 项目并创建了重复的字段。

    例如,您使用 LookmL 生成器,数据表有一个名为 count 的列。在本例中,Looker 将创建一个名为 count 的维度,该维度引用表格中的列。默认情况下,Looker 还会创建一个名为 count 的测量(这是 Looker 创建的唯一默认测量)。由于这两个字段的名称都为 count,因此会出现错误。

本页面的下一部分将帮助您识别 LookML 项目中是错误来源的视图。

查找错误中提及的视图

请注意,错误中提及的视图名称是指视图联接的 explore 参数中定义的视图名称

在典型情况下,视图名称很容易理解。例如,您可以使用以下联接:

join: address
foreign_key: order.billing_id

在此示例中,错误中提及的视图名称为 address,如 join 参数中所指定。

当视图名称在联接中成为别名时查找源视图

如果您使用别名更改视图名称在联接中的显示方式,则错误消息中会提及别名。例如,假设您有一个使用 from 参数的联接。借助 from 参数,您可以为联接指定一个不同于底层视图的名称,这在您要再次联接同一视图时非常有用。

join: billing_address
from: address
foreign_key: order.billing_id

在此示例中,LookML 视图文件的错误中提到的视图名称将是 billing_address,而不是 address