sql_table_name(Explore の場合)

このページでは、Explore の一部である sql_table_name パラメータについて説明します。

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 の場合)は、同じビューでデータベースの複数のテーブルを記述できる場合にのみ使用する必要があります。
  • sql_table_name で参照されるテーブルは、モデルのデータベース接続内でアクセス可能である必要があります。
  • テーブルが、データベース接続で定義したデフォルト パスとは異なるデータベース、スキーマ、プロジェクト、データセットにある場合は、テーブル名をスコープする必要があります。

定義

sql_table_name パラメータは、Explore によってクエリされるデータベース内のテーブルを指定します。通常、Explore の名前が付けられたビューは、クエリされるテーブルを定義します。ただし、複数のテーブルの構造が同じ場合は、explore パラメータの sql_table_name パラメータを使用して、ビューファイルで指定されたベーステーブルをオーバーライドできます。このようにして、ビューファイルで定義したディメンションとメジャーを取得し、ビューファイルで指定したテーブル以外のデータベース テーブルに適用できます。

テーブル名のスコープ設定

テーブル名を単独で使用してテーブルを参照すると、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 オブジェクトは model オブジェクトに含まれます(このページの階層にこの関係チェーンが示されています)。モデル オブジェクトには、定義されたデータベース connection があります。sql_table_name パラメータでデータベース テーブルを参照する場合は、モデルファイルで指定された関連付けられた接続内でテーブルにアクセスできる必要があります。

デフォルトのデータベーススキーマ(または Google BigQuery の場合は課金プロジェクトデータセット)は、Looker 管理者がデータベースへの Looker 接続を作成するときに定義します。

基盤となるテーブルとは異なる名前を view に付けるには、view レベルで sql_table_name を適用します。

このページで説明するように、explore レベルで sql_table_name を使用することはあまり一般的ではありません。同じ view で複数のテーブルを記述できる場合にのみ使用する必要があります。

より一般的な方法は、基盤となるテーブル名とは異なるビューに名前を付ける場合に、view レベルで sql_table_name を使用することです。

つまり、次のようになります。

モデルファイル

explore: customers {
  sql_table_name: customer_1 ;;
}

方法

モデルファイル

explore: customers { ... }

ファイルを表示

view: customers {
  sql_table_name: customer_1 ;;
}