在处理 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
。