エラー: フィールドの再定義

LookML ファイルで作業しているときに、Content Validator でコードを検証した後に、Redefinition of field 'view_name.field_name' 形式のエラーが発生することがあります。

エラーは、LookML バリデータの実行後、[プロジェクトの健全性パネル] の [LookML エラー] に表示されます。

このページでは、エラーの意味、一般的な原因、トラブルシューティングの方法について説明します。

エラーの一般的な原因: フィールドの再定義

エラー Redefinition of field 'view_name.field_name' は、ビュー名とフィールド名の組み合わせがまったく同じ 2 つのフィールドが Looker で検出されたことを意味します。

このエラーの一般的な原因は次のとおりです。

  • 同じビューで 2 つのフィールドに同じ名前を付けてしまいました。次のようなアカウントが該当します。
    • 同じ名前の 2 つのディメンション
    • 同じ名前の 2 つの測定値
    • 同じ名前の 1 つのディメンションと 1 つの指標
  • ビューにフィールドをコピーして貼り付けた際に、名前を変更し忘れた。
  • Explore に再度ビューに結合したが、結合に別の名前を付けるのを忘れた。
  • LookML ジェネレータを使用して LookML プロジェクトを作成し、重複するフィールドを作成した。

    たとえば、LookmL ジェネレータを使用していて、データテーブルに count という名前の列があるとします。この場合、Looker はテーブル内の列を参照する count という名前のディメンションを作成します。デフォルトでは、count という名前の測定値も作成されます(これは、Looker が作成する唯一のデフォルト測定値です)。2 つのフィールドの名前がどちらも count であるため、エラーが発生します。

このページの次のセクションでは、エラーの原因となっている LookML プロジェクト内のビューを特定する方法について説明します。

エラーに記載されているビューを見つける

エラーに表示されるビュー名は、ビューが結合されている explore パラメータで定義されているビュー名です。

一般的なケースでは、ビュー名はわかりやすいものです。たとえば、次のような結合があります。

join: address
foreign_key: order.billing_id

この例では、エラーに記載されているビュー名は address で、join パラメータで指定されています。

結合でビュー名がエイリアスされている場合のソースビューの検索

エイリアスを使用して結合でのビュー名の表示方法を変更している場合、エラー メッセージにエイリアス名が示されます。たとえば、from パラメータを使用した結合があるとします。from パラメータを使用すると、結合に基盤となるビューとは異なる名前を付けることができます。これは、同じビューを 2 回結合する場合に便利です。

join: billing_address
from: address
foreign_key: order.billing_id

この例では、LookML ビューファイルのエラーに表示されるビュー名は address ではなく billing_address です。