用途
include: "/views/airports.view"
|
階層
includeまたは includeまたは include |
デフォルト値
なし
許可
ファイル名またはパターンを含む文字列 |
定義
include パラメータは、モデル、ビュー、Explore で使用できる LookML ファイルを指定します。別のファイル内で LookML ファイルを使用または参照する場合は、include パラメータを使用して追加する必要があります。
include パラメータは、モデルファイル、ビューファイル、Explore ファイルで使用できます。include パラメータは、コンテキストに応じてさまざまな種類の LookML ファイルを参照できます。
モデルファイルでは、include を使用して次のファイルタイプを参照できます。
ビューファイルでは、include を使用して次のファイルタイプを参照できます。
Explore ファイルでは、include を使用して次のファイルタイプを参照できます。
include を使用して、他のプロジェクトからファイルを取り込むこともできます。別のプロジェクトのファイルを含める方法については、他のプロジェクトからファイルをインポートするのドキュメント ページをご覧ください。
include を使用する場合は、次の点に注意してください。
- ドキュメント ファイルやデータファイルなど、LookML 以外のファイルタイプに
includeを使用する必要はありません。 - ファイルを含めるか含めないかのいずれかであるため、含まれるファイルのすべての情報が、含むファイルに追加されます。
- ファイル内で複数の
includeパラメータを使用できます。 *ワイルドカード文字を使用して、戦略的な命名規則または同じ拡張子を持つファイルを示すことができます。たとえば、"*base.dashboard"を使用して"database.dashboard"と"crunchbase.dashboard"の両方を照合して含めることができます。"*.dashboard"を使用して、拡張子が.dashboardのすべてのファイルを示すことができます。*ワイルドカード文字を使用すると、ディレクトリ内のすべてのファイルを含めることができます。たとえば、include: "/views/users/*.view"を指定すると、views/users/ディレクトリ内のすべてのビューファイルを含めることができます。IDE フォルダでワイルドカードを使用する方法については、IDE フォルダのドキュメント ページをご覧ください。


モデルファイルでの include の使用
モデルファイルで include パラメータを使用すると、ビューとダッシュボードまたは Explore を含めることができます。
モデルにビューとダッシュボードを含める
モデルファイルで include パラメータを使用して、そのモデルで使用できるダッシュボード ファイルとビューファイルを指定します。モデル内で LookML ファイルを使用または参照する場合は、include パラメータを使用して追加する必要があります。
include パラメータでは、ビューファイルに .view 拡張子を使用し、ダッシュボードに .dashboard 拡張子を使用します。これらの拡張機能の .lkml と .lookml の部分は省略できます。
* ワイルドカード文字を使用して、戦略的な命名規則または同じ拡張子を持つファイルを示すことができます。include パラメータ ページのワイルドカードの例セクションで説明されているように、* ワイルドカードをディレクトリ パスと組み合わせて使用して、複数のファイルを指定することもできます。
たとえば、モデルファイルで次のような include パラメータを使用できます。
include: "/**/*.dashboard"
include: "/*/*base.view.lkml"
include: "//e_commerce/views/*.view.lkml"
これらのパラメータには、次のファイルが含まれます。
- プロジェクト内の任意のディレクトリにあるすべてのダッシュボード ファイル
- プロジェクトの直下の子ディレクトリ(
/views/database.view.lkmlや/public/crunchbase.view.lkmlなど)にあるbase.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 ファイルがある場合は、モデルファイルで include パラメータを使用してインクルードする必要があります。include パラメータで、Explore ファイルの拡張子 .explore.lkml を使用します。
次の例は、2 つの Explore を含むモデルファイルです。
exploresフォルダのaircraft_new.explore.lkmlという名前の独自のファイルで定義されているaircraft_newExplore。その Explore は独自のファイルで定義されているため、includeパラメータで Explore ファイルのパスを指定する必要があります。- モデルファイル内で定義されている
accidentsExplore。モデルファイル自体で定義されているため、モデルでincludeパラメータを使用する必要はありません。ただし、accidentsExplore のベースとなるビューには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 を使用する必要はありません。ただし、ビューファイルにファイルを含める必要がある場合もあります。
ビューにビューを含める(拡張または絞り込み)
ビューファイルを別のビューファイルに含めて、含まれているビューを拡張したり、絞り込んだりすることもできます。
たとえば、次の marketing_order_fields ビューファイルは、basic_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_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 ファイルにインクルードできます。include パラメータを使用して、ファイル拡張子 .explore.lkml を追加します。
別の Explore ファイルをインクルードして Explore を拡張する Explore ファイルの例を次に示します。
include: "/explores/base.explore.lkml"
explore: aircraft_information {
extends: [aircraft]
IDE フォルダでの include の使用
LookML プロジェクト ファイルをフォルダに整理する場合は、include ステートメント内でファイルのパスを指定する必要があります。
include ステートメントでは絶対パスまたは相対パスを使用できます(例については、このページのパスの構文をご覧ください)。また、ワイルドカード * と ** を使用して、複数のファイルを一度に含めることができます(例については、このページのワイルドカードの例をご覧ください)。
たとえば、プロジェクトに次のディレクトリ構造があり、views フォルダの最上位の内容が次のようになっているとします。
- ビューファイル
order_factsとorder_itemsを含むordersフォルダ - ビューファイル
user_with_age_extension、users、users_extendedを含むusersフォルダ - 個々のビューファイル
distribution_centers、events、inventory_items、products

次のステートメントには、products ビュー、order_facts ビュー、/views/users/ ディレクトリ内のすべてのビューが含まれます。
include: "/views/products.view"
include: "/views/orders/order_facts.view"
include: "/views/users/*.view"
ファイルのパスを変更したら、プロジェクト内の include ステートメントを更新して、ファイルの新しいパスに合わせてください。古い include ステートメントが既存のファイルまたはファイルパスを参照しなくなった場合、LookML 検証の警告が表示されることがあります。また、ファイルパスが変更されたことで見つからなくなった参照先オブジェクトに対する LookML 検証エラーが表示される場合があります。
パスの構文
ファイルを含めるために使用できる構文の例をいくつか示します。
| 構文 | 説明 |
|---|---|
PATH |
現在のファイルの場所から始まる相対パス。 |
./PATH |
現在のファイルの場所から始まる相対パス。この例では、前の例と同じファイル PATH を指定しています。 |
../PATH |
現在のファイルの親ディレクトリから始まる相対パス。 |
/PATH |
現在のプロジェクトのルートから始まる絶対パス。 |
//PROJECT_NAME/PATH |
PROJECT_NAME という名前のインポートされたプロジェクトのルートから始まる絶対パス。 |
ワイルドカードの使用
管理する必要があるファイルが少ないプロジェクトの場合は、次のように、各ファイルを独自の include パラメータにリストできます。
include: "/dashboards/user_info.dashboard"
include: "/views/users.view"
含めるファイルが多いプロジェクトの場合は、ワイルドカードを使用して複数のファイルを一度に含めることで、記述する必要がある include パラメータの数を減らすことができます。
- IDE フォルダでワイルドカードを使用して、プロジェクトの特定のディレクトリにあるファイルを含めます。
- ワイルドカードとファイル拡張子を使用して、特定のファイルタイプのファイルを含めます。
- ワイルドカードと戦略的なファイル名を使用して、ファイル名に特定の接頭辞または接尾辞が含まれるファイルを含めます。
ワイルドカードの使用は、LookML 検証の警告に対する一時的な修正を作成する必要がある開発時に特に役立ちます。特に、既存のプロジェクトを IDE フォルダに整理する場合に便利です。ただし、include ステートメントでワイルドカードを使用する場合は、次の点に注意してください。
- すべてのビューファイルを含めると、LookML 検証のパフォーマンスに影響したり、データベース スキーマが煩雑になる可能性があるため、ワイルドカードを使用してプロジェクト内のすべてのビューファイルを含めることはおすすめしません。
- Looker では、プロジェクトに複数のモデルファイルがある場合、ワイルドカードを使用してプロジェクト内のすべてのファイルを含めることはできません。これは、モデルファイルを他のモデルファイルに含めることができないためです。
IDE フォルダでのワイルドカードの使用
ワイルドカードを IDE フォルダと組み合わせて使用すると、LookML プロジェクトの特定のディレクトリにあるファイルを含めることができます。
たとえば、次の include ステートメントは、LookML プロジェクトの /explores/ ディレクトリ内のすべてのファイルを参照します。
include: "/explores/*"
特定のファイル形式にワイルドカードを使用する
ワイルドカードを使用して、特定の種類のすべてのファイルを参照できます。たとえば、次の include ステートメントは、LookML プロジェクト内のすべての Explore ファイルを参照します。
include: "/**/*.explore.lkml"
LookML ファイルのタイプとファイル拡張子のリストについては、LookML プロジェクト ファイルについてのドキュメント ページの LookML プロジェクト内のファイルのタイプをご覧ください。
戦略的な命名パターンでのワイルドカードの使用
戦略的なファイル命名でワイルドカードを使用すると、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"
ワイルドカードの例
ワイルドカードを使用した例をいくつか示します(PATH は、前の表のパス構文に置き換えることができます)。
| 構文 | 説明 |
|---|---|
PATH/*.view |
PATH で .view で終わるファイルとワイルドカード一致。 |
PATH/*.view.lkml |
PATH で .view.lkml で終わるファイルとワイルドカード一致。ビュー ファイルの拡張子は .view.lkml であるため、この例では、前の例と同じファイル PATH/*.view を指定しています。.lkml 部分は IDE に表示されず、include ステートメントに .lkml 部分は必要ありません。ただし、ワイルドカードを使用すると、ファイル拡張子の共通部分を活用できます。プロジェクト ファイルの拡張子の一覧については、LookML プロジェクトのファイルに関するドキュメント ページをご覧ください。 |
PATH/*.lkml |
PATH で .lkml で終わるファイルとワイルドカード一致。.view.lkml や .model.lkml など、複数のファイルタイプでファイル拡張子の最後の部分として .lkml が共有されています。.lkml 部分は IDE に表示されず、include ステートメントに .lkml 部分は必要ありません。ただし、ワイルドカードを使用すると、ファイル拡張子の共通部分を活用できます。プロジェクト ファイルの拡張子の一覧については、LookML プロジェクトのファイルに関するドキュメント ページをご覧ください。 |
PATH/myfile.* |
PATH にある myfile という名前のファイルを任意の拡張子タイプと一致させるワイルドカード。 |
PATH/myfile.*.lkml |
PATH にある myfile という名前のファイルと、任意の .lkml 拡張子タイプをワイルドカードで照合します。 |
PATH/my*file.view |
PATH で my で始まり file.view で終わるファイルに一致するワイルドカード。 |
PATH/my*fi*le.view |
my で始まり、その後にいくつかの文字、fi、いくつかの追加の文字が続き、PATH の le.view で終わるファイルに一致するワイルドカード。 |
PATH/*/myfile.lkml |
フォルダ名のワイルドカード(ネストの 1 つのレベルのみに一致)。PATH の直接の子ディレクトリにあるすべての myfile.lkml ファイルに一致します。 |
PATH/**/my_file.view |
PATH とすべてのサブディレクトリにある my_file.view.lkml という名前のすべてのファイルに対する再帰的なワイルドカード マッチング(任意のネスト量に一致)。 |
PATH/**/*.view |
PATH のサブディレクトリにある .view.lkml で終わるすべてのファイルに一致する再帰ワイルドカード。 |
PATH/**/my_folder/myfile.view |
PATH の下の任意の深さにあるサブパス /my_folder/myfile.view に一致する再帰ワイルドカード。 |
例
モデルファイル、ビューファイル、Explore ファイルで include を使用する例については、前のセクションをご覧ください。
注意点
すべてのビューファイルを含めると、LookML 検証のパフォーマンスに影響する可能性があります
プロジェクトに多数のビューファイルがあり、それらをすべてモデルファイルに含めると、LookML バリデータのパフォーマンスに影響する可能性があります。LookML バリデータはモデルに含まれるすべてのビューファイルをチェックするため、モデルファイルの include パラメータには必要なビューファイルのみを含める必要があります。
モデルにビューグループを簡単に含められるように、ビューファイルの名前に戦略的な命名規則を採用することを検討してください(このページの戦略的な命名パターンでワイルドカードを使用するの例をご覧ください)。または、IDE フォルダを使用して、ビューをフォルダに整理することもできます。次に、* ワイルドカードを使用して、プロジェクト内のすべてのビューを含めるのではなく、単一のフォルダ内のすべてのビューを含めることができます。詳細については、IDE フォルダでの include の使用に関するセクションをご覧ください。
すべてのビューファイルを含めると、データベース スキーマが雑になる可能性がある
永続的な派生テーブル(PDT)を使用するプロジェクトでは、PDT のビューファイルをモデルファイルに含めることができます。ただし、PDT のビューファイルを含む各モデルファイルは、データベースのスクラッチ スキーマに PDT のコピーを作成します。複数のモデルファイルがあり、すべてのビューファイルをモデルファイルに含めると、データベースのスクラッチ スキーマに不要なものが追加される可能性があります。そのため、PDT のビューファイルは、PDT が必要なモデルファイルにのみ含めるようにしてください。