含める

使用状況

include: "/views/airports.view"
階層
include

または

include

または

include
デフォルト値
なし

許可
ファイル名またはパターンを含む文字列

定義

include パラメータでは、モデル、ビュー、Explore で使用できる LookML ファイルを指定します。別のファイル内で LookML ファイルを使用または参照する場合は、include パラメータで追加する必要があります。

モデルファイル、ビューファイル、Explore ファイルでは、include パラメータを使用できます。include パラメータでは、コンテキストに応じてさまざまな種類の LookML ファイルを参照できます。

モデルファイルでは、include を使用して以下を参照できます。

ビューファイルでは、include を使用して以下を参照できます。

Explore ファイルでは、include を使用して以下を参照できます。

include を使用して他のプロジェクトのファイルを取り込むこともできます。別のプロジェクトのファイルを含める方法については、他のプロジェクトからファイルをインポートするのドキュメントをご覧ください。ローカル LookML プロジェクトからファイルをインポートするには、ローカル プロジェクト インポートの Labs 機能を有効にする必要があります。

include を使用する場合は次の点に注意してください。

  • ドキュメント ファイルデータファイルなど、LookML 以外のファイル形式に include を使用する必要はありません。
  • ファイルを包含する機能はオール オア ナッシングであるため、包含ファイルの情報はすべて包含ファイルに追加されます。
  • 1 つのファイルに複数の include パラメータを使用できます。
  • * ワイルドカード文字を使用すると、戦略的命名規則または同じ拡張子を持つファイルを指定できます。たとえば、"*base.dashboard" を使用して、"database.dashboard""crunchbase.dashboard" の両方を一致させて含めることができます。"*.dashboard" を使用すると、拡張子 .dashboard のすべてのファイルを指定できます。
  • ワイルドカード文字 * を使用すると、ディレクトリ内のすべてのファイルを含めることができます。たとえば、include: "/views/users/*.view" を指定することで、すべてのビューファイルを views/users/ ディレクトリに格納できます。IDE フォルダでのワイルドカードの使用について詳しくは、IDE フォルダに関するドキュメント ページをご覧ください。

ヒント: ワイルドカードを使用する場合は、ファイル内の情報行から情報アイコンにカーソルを合わせるか、include ステートメントをクリックしてクイックヘルプを表示することで、含まれているファイルを確認できます。

ヒント: Looker IDE で、その他メニューから [File File Path] を選択して、ファイルのパスをコピーできます。

モデルファイルでの include の使用

モデルファイルで include パラメータを使用すると、ビューとダッシュボードまたは Explore を含めることができます。

モデルにビューとダッシュボードを含める

モデルファイルで include パラメータを使用して、そのモデルで使用できるダッシュボードとビューファイルを指定します。モデル内で LookML ファイルを使用または参照する場合は、include パラメータで追加する必要があります。

include パラメータで、ビューファイル用に拡張子 .view を使用し、ダッシュボード用に拡張子 .dashboard を使用します。これらの拡張機能の .lkml.lookml は省略できます。

* ワイルドカード文字を使用すると、戦略的命名規則または同じ拡張子を持つファイルを指定できます。IDE フォルダのドキュメント ページのワイルドカードの例のセクションで説明されているように、* ワイルドカードをディレクトリ パスと組み合わせて使用して、複数のファイルを指定することもできます。

たとえば、モデルファイルで次の include パラメータを使用できます。

include: "/**/*.dashboard"
include: "/*/*base.view.lkml"
include: "//e_commerce/views/*.view.lkml"

これらのパラメータには次のようなファイルが含まれます。

  • プロジェクト内のすべてのディレクトリにあるダッシュボード ファイル
  • プロジェクトの任意の直接の子ディレクトリにある base.view.lkml で終わるビューファイル(/views/database.view.lkml/public/crunchbase.view.lkml など)
  • e_commerce というインポート済みプロジェクト/views/ ディレクトリ内のすべてのビューファイル

プロジェクトに多数のビューファイルがある場合、またはプロジェクトで永続的な派生テーブル(PDT)を使用している場合は、モデルにすべてのビューファイルを含めないようにする必要があります。代わりに、このような個々のビューファイルを含めます。以下に、個々のビューファイルとプロジェクト内のすべてのダッシュボードを含める例を示します。

include: "/views/order.view"
include: "/views/user.view"
include: "/**/*.dashboard"

モデルへのモデルの追加

別のプロジェクトのモデルファイルを含めることはできません。代わりに、Explore をプロジェクト間で再利用、絞り込み拡張するには、インポートしたプロジェクトで別の Explore ファイルを作成し、その Explore ファイルを他のプロジェクトに含めます。詳細については、モデルに Explore を含めるをご覧ください。

モデルに Explore を含める

Explore ファイルは、それに含まれているモデルの接続をリッスンします。Explore ファイルの親モデルとは異なる接続を使って構成されているモデルに Explore ファイルを含める場合は、この点を考慮してください。Explore ファイルを含むモデルの接続スキーマが親モデルの接続スキーマと異なる場合、クエリエラーが発生する可能性があります。

Exploreは通常、モデルファイル内で定義されます。 ただし、派生テーブル用に個別の Explore ファイルが必要になることがあります。また、モデル間で Explore を拡張するか、絞り込むことが必要になる場合もあります。

別の Explore ファイルがある場合は、モデルファイルで include パラメータを使用して含める必要があります。Explore ファイルの include パラメータで、拡張子 .explore.lkml を使用します。

例として、2 つの Explore があるモデルファイルを以下に示します。

  • aircraft_new Explore は、explores フォルダ内の aircraft_new.explore.lkml という独自のファイルで定義されます。Explore は独自のファイルで定義されているため、include パラメータで Explore ファイルのパスを指定する必要があります。
  • accidents: Explore はモデルファイル内で定義されます。モデルファイル自体で定義されているため、モデルで include パラメータを使用する必要はありません。ただし、accidents Explore のベースとなっているビューには include が必要です。
connection: "faa"

include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"

explore: accidents {
  view_name: accidents
  from: accidents
}

モデルへのデータテストの組み込み

データテストは、モデルファイルまたはビューファイルで直接定義できます。ただし、プロジェクトの複数の場所でデータテストを再利用する場合は、別途データテスト ファイルを作成することもできます。

別のデータテスト ファイルがある場合は、モデルファイルまたはビューファイルで include パラメータを使用して、データテストを実行する必要があります。データテスト ファイルには、include パラメータで拡張子 .lkml を使用します。

たとえば、以下はデータテスト ファイルを含むモデルファイルからの抜粋です。

connection: "faa"

include: "/explores/aircraft_new.explore.lkml"
include: "/views/accidents.view"
include: "/tests/data_tests.lkml"

. . .

モデルファイルにデータテスト ファイルを追加したら、データテストを実行して、データテストが正しく機能することと、モデルのロジックがテストに合格するかどうかを確認できます。

このページのビューにデータテストを含めるで説明しているように、ビューファイルにデータテスト ファイルを含めることもできます。

ビューファイルでの include の使用

ほとんどの場合、ビューファイルで include を使用する必要はありません。ただし、ビューファイルにファイルを含める場合もあります。

ビューにビューを含める(拡張または絞り込み)

あるビューファイルを別のビューファイルに追加して、含まれるビューを拡張または絞り込みすることもできます。

たとえば、basic_order_fields ビューファイルを含む marketing_order_fields ビューファイルは、次のように拡張します。

include: "/views/basic_order_fields.view"
view: marketing_order_fields {
  extends: [basic_order_fields]  # The file that contains the basic_order_fields
}                                # view should be included

ビューに Explore を含める

Explore ファイルは、それが含まれているモデルの接続をリッスンします。Explore ファイルの親モデルとは異なる接続を使って構成されているモデルに Explore ファイルを含める場合は、この点を考慮してください。Explore ファイルを含むモデルの接続スキーマが親モデルの接続スキーマと異なる場合、クエリエラーが発生する可能性があります。

ほとんどの場合、Explore をビューに含める必要はありません。ただし、ネイティブ派生テーブルは、explore_source パラメータを含む独自のビューファイルで定義されるため、特殊なケースです。explore_source パラメータを使用して Explore を指定し、ネイティブ派生テーブルに必要な列とその他の特性を定義します。Explore は通常、モデルファイル内で定義されますが、ネイティブ派生テーブルの場合、.explore.lkml ファイル拡張子を使用して Explore 用に別のファイルを作成する方がわかりやすくなります。別の Explore ファイルを作成する場合は、ネイティブ派生テーブルビューファイルに Explore ファイルを含める必要があります。

以下に、ネイティブ派生テーブルビュー ファイルで include を使用して、Explore ファイルを指定する例を示します。

include: "/explores/order_items.explore.lkml"

view: user_order_facts {
  derived_table: {
    explore_source: order_items {
      column: user_id {field: order_items.user_id}
      column: lifetime_number_of_orders {field: order_items.order_count}
      column: lifetime_customer_value {field: order_items.total_revenue}
      derived_column: average_customer_order {
        sql:  lifetime_customer_value / lifetime_number_of_orders ;;
      }
    }
  }
  dimension: user_id {hidden: yes}
  dimension: lifetime_number_of_orders {type: number}
  dimension: lifetime_customer_value {type: number}
  dimension: average_customer_order {type: number}
}

ネイティブ派生テーブルの Explore ファイルについて詳しくは、include ステートメントを使用したフィールドの参照を有効にするをご覧ください。

ビューにデータテストを含める

データテストは、モデルファイルまたはビューファイルで直接定義できます。ただし、プロジェクトの複数の場所でデータテストを再利用する場合は、別途データテスト ファイルを作成することもできます。

別のデータテスト ファイルがある場合は、モデルファイルまたはビューファイルで include パラメータを使用して、データテストを実行する必要があります。データテスト ファイルには、include パラメータで拡張子 .lkml を使用します。

たとえば、以下は、データテスト ファイルを含むビューファイルからの抜粋です。

include: "/tests/data_tests.lkml"

view: orders {
  sql_table_name: looker.orders ;;

  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }

. . .

ビューファイルにデータテスト ファイルを含めたら、データテストを実行して、データテストが正しく機能することと、ビューのロジックがテストに合格するかどうかを確認できます。

このページのモデルにデータテストを含めるで説明しているように、モデルファイルにデータテスト ファイルを含めることもできます。

Explore ファイルでの include の使用

Exploreは通常、モデルファイル内で定義されます。 ただし、派生テーブル用に個別の Explore ファイルが必要になることがあります。また、モデル間で Explore を拡張するか、絞り込むことが必要になる場合もあります。

別の Explore ファイルがある場合は、include パラメータを使用して、ビューやその他の Explore を含めることができます。

Explore にビューを含める

別の Explore ファイルがある場合は、その Explore で使用されているすべてのビューを含める必要があります。ビューファイルにはファイル拡張子 .view を使用します。ファイル拡張子の .lkml の部分は省略できます。使用している 2 つのビューを含む Explore ファイルの例を次に示します。

include: "/views/aircraft.view"
include: "/views/aircraft_types.view"

explore: aircraft {
  join: aircraft_types {
    type: left_outer
    sql_on: ${aircraft.aircraft_type_id} = ${aircraft_types.aircraft_type_id} ;;
    relationship: many_to_one
  }
}

Explore に Explore を含める

Explore ファイルは、それが含まれているモデルの接続をリッスンします。Explore ファイルの親モデルとは異なる接続を使って構成されているモデルに Explore ファイルを含める場合は、この点を考慮してください。Explore ファイルを含むモデルの接続スキーマが親モデルの接続スキーマと異なる場合、クエリエラーが発生する可能性があります。

ある Explore ファイルを別の Explore ファイルに含めることができます。たとえば、Explore を拡張または絞り込みます。include パラメータを使用して、ファイル拡張子 .explore.lkml を追加します。

別の Explore ファイルを含む Explore ファイルを追加して、Explore を拡張する例を次に示します。

include: "/explores/base.explore.lkml"

explore: aircraft_information {
  extends: [aircraft]

モデルファイルファイルの表示Explore ファイルinclude を使用する例については、前のセクションをご覧ください。

注意点

ワイルドカードの使用

管理するファイルが数個しかないプロジェクトの場合、次のように、各ファイルを個別の include パラメータでリストできます。

include: "/dashboards/user_info.dashboard"
include: "/views/users.view"

多数のファイルを含むプロジェクトを書き込むと、ワイルドカードを使用して複数のファイルを一度に含めることで、書き込みが必要な include パラメータの数を減らすことができます。

特に既存のプロジェクトを IDE フォルダに整理する場合は、LookML 検証の警告を一時的に修正する必要がある場合、開発時にワイルドカードを使用すると便利です。ただし、include ステートメントでワイルドカードを使用する場合は、次の点に注意してください。

IDE フォルダでのワイルドカードの使用

ワイルドカードを IDE フォルダと組み合わせて使用すると、LookML プロジェクトの特定のディレクトリにファイルを含めることができます。

たとえば、次の include ステートメントは、LookML プロジェクトの /explores/ ディレクトリ内のすべてのファイルを参照します。

include: "/explores/*"

特定のファイル形式でのワイルドカードの使用

ワイルドカードを使用すると、特定のタイプのすべてのファイルを参照できます。たとえば、次の include ステートメントは、LookML プロジェクト内のすべての Explore ファイルを参照します。

include: "/**/*.explore.lkml"

LookML ファイルの種類とファイル拡張子のリストについては、LookML プロジェクト ファイル ドキュメントのページのプロジェクト ファイル形式のセクションをご覧ください。

すべてのビューファイルを含めると LookML 検証のパフォーマンスに影響し、データベース スキーマが乱雑になる可能性があるため、Looker では、ワイルドカードを使用して、すべてのビューファイルをプロジェクトに含めることはおすすめしません。

戦略的な命名規則パターンでのワイルドカードの使用

戦略的ファイルの命名にワイルドカードを使用して、include ステートメントをさらに最適化することもできます。たとえば、次のようにファイルに名前を付けるのではなく、

/views/apple.view
/views/banana.view
/views/cherry.view
/views/orange.view
/views/celery.view

次のように、ファイル名に戦略的にプレフィックスやサフィックスを追加できます。

/views/apple.fruit.view
/views/banana.fruit.view
/views/cherry.fruit.view
/views/orange.fruit.view
/views/celery.vegetable.view

次に、この include を使用してワイルドカードを使用し、.fruit サフィックスのみを参照します。

include: "/views/*.fruit.view"

すべてのビューファイルを含めると、LookML 検証のパフォーマンスに影響する可能性がある

プロジェクトに多数のビューファイルがあり、これらをすべてモデルファイルに含めると、LookML 検証ツールのパフォーマンスに影響する可能性があります。LookML 検証ツールはモデルに含まれるすべてのビューファイルを確認するため、モデルファイルの include パラメータには必要なビューファイルのみを含めます。

モデル内でビューのグループを簡単に含めるために、ビューファイルに戦略的に命名規則を適用することを検討します(このページの戦略的命名規則パターンでのワイルドカードの使用の例をご覧ください)。または、IDE フォルダを使用してビューをフォルダに整理することもできます。これで、プロジェクトのすべてのビューを含める代わりに、* ワイルドカードを使用してすべてのビューを 1 つのフォルダに格納できます。詳しくは、IDE フォルダで include を使用するをご覧ください。

すべてのビューファイルを含めると、データベース スキーマが乱雑になる可能性がある

永続的な派生テーブル(PDT)を使用するプロジェクトの場合は、モデルファイルに PDT のビューファイルを含めることができます。ただし、PDT のビューファイルを含む各モデルファイルは、データベースのスクラッチ スキーマに PDT のコピーを作成します。複数のモデルファイルがあり、すべてのビューファイルをモデルファイルに含めると、データベースのスクラッチ スキーマに不要なクラッターが追加されます。このため、PDT のビューファイルは、PDT が必要なモデルファイルにのみ含めてください。