错误:重新定义字段

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

运行 LookmL 验证程序后,该错误会显示在“Project Health”面板中的 LookML 错误下。

本页内容有助于您了解错误的含义、常见原因和问题排查方法。

错误常见原因:重新定义字段

错误 Redefinition of field 'view_name.field_name' 表示 Looker 识别出两个字段的数据视图和字段名称组合完全相同。

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

  • 您不小心在同一视图中对两个同名字段进行了命名。这可能是:
    • 两个同名的维度
    • 两个同名的测量
    • 一个维度和一个测量的名称相同
  • 您复制和粘贴视图中的一个字段,但忘记更改名称。
  • 您再次将某个数据视图加入到“探索”中,但忘记为该视图指定其他名称。
  • 您使用 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