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 です。