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