使用状況
階層
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
を使用する必要はありません。ただし、ビューファイルにファイルを含める場合もあります。
- ビューを拡張または絞り込みている場合
- 派生テーブルの Explore ファイルがある場合
ビューにビューを含める(拡張または絞り込み)
あるビューファイルを別のビューファイルに追加して、含まれるビューを拡張または絞り込みすることもできます。
たとえば、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 フォルダでワイルドカードを使用します。
- ファイル形式にワイルドカードを使用し、特定のファイル形式のファイルを含める。
- 戦略的ファイル名を含むワイルドカードを使用して、特定の接頭辞または接尾辞を持つファイル名をファイルに含める。
特に既存のプロジェクトを IDE フォルダに整理する場合は、LookML 検証の警告を一時的に修正する必要がある場合、開発時にワイルドカードを使用すると便利です。ただし、include
ステートメントでワイルドカードを使用する場合は、次の点に注意してください。
- すべてのビューファイルを含めると LookML 検証のパフォーマンスに影響し、データベース スキーマが乱雑になる可能性があるため、Looker では、ワイルドカードを使用して、すべてのビューファイルをプロジェクトに含めることはおすすめしません。
- Looker では、プロジェクトに複数のモデルファイルがある場合、モデルファイルを他のモデルファイルに含めることはできないため、プロジェクト内のすべてのファイルをワイルドカードに含めることはできません。
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 が必要なモデルファイルにのみ含めてください。