このページでは、
sql_table_nameパラメータについて説明します。このパラメータは Explore の一部です。
sql_table_nameは、ビューの一部としても使用できます。詳細については、sql_table_name(ビューの場合) パラメータのドキュメント ページをご覧ください。
sql_table_nameは、結合の一部としても使用できます。詳細については、sql_table_name(結合の場合)パラメータのドキュメント ページをご覧ください。
用途
explore: explore_name {
sql_table_name: table_name ;;
}
sql_table_name |
デフォルト値
Explore のビューのベースとなるデータベース テーブル
許可
データベース テーブルの名前
特別なルール
|
定義
sql_table_name パラメータは、Explore によってクエリされるデータベース内のテーブルを指定します。通常、Explore の名前が付けられたビューは、クエリされるテーブルを定義します。ただし、複数のテーブルの構造が同じ場合は、explore パラメータの下にある sql_table_name パラメータを使用して、ビューファイルで指定されているベーステーブルをオーバーライドできます。このようにして、ビューファイルで定義したディメンションとメジャーを、ビューファイルで指定したテーブル以外のデータベース テーブルに適用できます。
テーブル名のスコープ設定
テーブル名のみを使用してテーブルを参照すると、Looker は、Looker 管理者がデータベース接続の設定で構成したデフォルトの検索パス(データベースとスキーマ)を使用します。詳細については、このページの注意点をご覧ください。
データベース ユーザーのデフォルト検索パスにない別のデータベースとスキーマのテーブルを参照する必要がある場合は、<database_name>.<schema_name>.<table_name> 形式を使用してテーブル名をスコープし、別のデータベースまたはスキーマを指定します。
- 別のスキーマのテーブルを参照するには、このページの例に示すように
<schema_name>.<table_name>を使用します。 - 別のデータベースのテーブルを参照するには、完全な
<database_name>.<schema_name>.<table_name>を使用します。
Google BigQuery 接続の場合、<project_name>.<dataset_name>.<table_name> 形式でテーブル名をスコープすることで、別のプロジェクトとデータセットのテーブルを参照できます。詳細については、Google BigQuery 接続のドキュメント ページをご覧ください。
例
この例では、customers Explore がデフォルトのデータベース/スキーマの customer_1 テーブルに依存するようにします。
explore: customers {
sql_table_name: customer_1 ;;
}
この例では、テーブル名をスコープしてスキーマ名を含める(<schema_name>.<table_name> 形式を使用)ことで、customers Explore が analytics スキーマの customer_1 テーブルに依存するようにします。
explore: customers {
sql_table_name: analytics.customer_1 ;;
}
注意点
sql_table_name で参照されるテーブルは、現在の接続からアクセス可能である必要があります。
sql_table_name パラメータが explore オブジェクト内で使用されている場合、その explore オブジェクトは モデル オブジェクトに含まれます。(このページの階層に、この関係チェーンが示されています)。モデル オブジェクトには、データベース connection が定義されています。sql_table_name パラメータでデータベース テーブルを参照する場合、テーブルはモデルファイルで指定された関連付けられた接続内でアクセス可能である必要があります。
デフォルトの データベースと スキーマ(Google BigQuery の場合は 課金プロジェクトと データセット)は、Looker 管理者がデータベースへの Looker 接続を 作成するときに定義します。
基盤となるテーブルとは異なる名前を view に付けるには、view レベルで sql_table_name を適用します。
このページで説明されているように、explore レベルで sql_table_name を使用することはあまり一般的ではありません。同じ view で複数のテーブルを記述できる場合にのみ使用してください。
より一般的な方法は、基盤となるテーブル名とは異なる名前をビューに付ける場合に、sql_table_name レベルで view を使用することです。
つまり、次のようにするのではなく、
モデルファイル
explore: customers {
sql_table_name: customer_1 ;;
}
次のようにします。
モデルファイル
explore: customers { ... }
ビューファイル
view: customers {
sql_table_name: customer_1 ;;
}