このページでは、
sql_analytic_model_nameパラメータについて説明します。これは Explore の一部です。
sql_analytic_model_nameは、ビューの一部としても使用できます。詳細については、sql_analytic_model_name(ビュー用)パラメータのドキュメント ページをご覧ください。
用途
explore: explore_name {
sql_analytic_model_name: analytic_model_name ;;
}
sql_analytic_model_name |
デフォルト値
なし
許可
データベース内分析モデル名
特別なルール
|
定義
BigQuery と Snowflake の接続の場合、sql_analytic_model_name パラメータは、LookML Explore のベースとして使用する既存のデータベース内分析モデル(BigQuery Graph または Snowflake のセマンティック ビュー)の名前を指定します。
ほとんどの場合、sql_analytic_model_name(ビュー用)パラメータを使用して、ビューファイルで分析モデルを指定します。次に、そのビューファイルで、データベース内の分析モデルに基づく
LookML ディメンションとメジャーを定義します。ただし、データベースに同じ LookML
フィールドで定義できる複数の分析モデルがある場合は、explore パラメータの下で sql_analytic_model_name
パラメータを使用できます。
explore パラメータの下に sql_analytic_model_name を指定すると、Explore
はビューファイルで指定された分析モデルをオーバーライドし、代わりに explore パラメータの下の sql_analytic_model_name
で指定した分析モデルにクエリを実行します。この場合、Explore はビューファイルで定義されている LookML
メジャーとディメンションを使用しますが、explore パラメータの sql_analytic_model_name
パラメータで指定された分析モデルに適用します。
分析モデル名のスコープ設定
分析モデル名のみを使用して分析モデルを参照すると、Looker は、Looker 管理者がデータベース接続の設定で構成したデフォルトの検索パス(データベースとスキーマ)を使用します。
データベース ユーザーのデフォルト検索パスにない別のデータベースとスキーマの分析モデルを参照する必要がある場合は、<database_name>.<schema_name>.<analytic_model_name> 形式を使用して分析モデル名をスコープ設定し、別のデータベースまたはスキーマを指定できます。
- 別のスキーマの分析モデルを参照するには、
<schema_name>.<analytic_model_name>を使用します。 - 別のデータベースの分析モデルを参照するには、完全な
<database_name>.<schema_name>.<analytic_model_name>を使用します。
Google BigQuery 接続の場合、<project_name>.<dataset_name>.<analytic_model_name> 形式を使用して分析モデル名をスコープ設定することで、別のプロジェクトとデータセットの分析モデルを参照できます。詳細については、Google BigQuery 接続のドキュメント ページをご覧ください。
例
これは、BigQuery データベースの StoreGraph BigQuery Graph に基づく MyStoreGraphView という LookML ビューの例です。グラフにマッピングされるディメンションとメジャーが含まれています。
view: MyStoreGraphView {
sql_analytic_model_name: StoreGraph ;;
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
dimension: population {
type: number
sql: Locations_population ;;
}
dimension: location_name {
type: string
sql: Locations_name ;;
}
measure: locations_total_population {
type: number
sql: Locations_total_population ;;
}
}
データベースに StoreGraph と同じ要素を持つ ShopDetailsGraph という別のグラフがあるとします。これは、MyStoreGraphView ビューファイルの sql_analytic_model_name 値をオーバーライドする Explore です。Explore には
MyStoreGraphView で定義されている LookML ディメンションとメジャーが同じように含まれますが、Explore は
ShopDetailsGraph 分析モデルにクエリを実行します。
explore: MyStoreGraphView {
sql_analytic_model_name: ShopDetailsGraph ;;
}
注意点
Looker の分析モデルに関する考慮事項
データベース内分析モデルを使用する場合は、次の考慮事項と制限事項に注意してください。
データ型: 分析モデルでは、ディメンションとメジャーに次のデータ型のみがサポートされています。
- ディメンションとメジャーでサポートされているもの:
stringnumberdateyesno
- ディメンションでのみサポートされているもの:
timedate_time
- ディメンションとメジャーでサポートされているもの:
メジャー:
- ベースメジャーは事前定義されている必要があります。 ベースメジャーは、基盤となるデータベース分析モデルで事前定義されている必要があります。Looker では、分析モデルのディメンションに対して集計(
type: sumやtype: countなど)を実行して、新しいベースメジャーを定義することはできません。 他のメジャーに基づくメジャーがサポートされています。 LookML メジャーの
sqlパラメータを使用して、分析モデルの事前定義されたベースメジャーを使用する非集計計算を実行できます。他のメジャーに基づくメジャーを作成する場合、新しいメジャーをsumやcountなどの集計メジャータイプとして定義することはできません。新しいメジャーは、string、number、date、またはyesnoなどの非集計メジャータイプとして定義する必要があります。次の例をご覧ください。measure: average_order_amount { type: number sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;; }
- ベースメジャーは事前定義されている必要があります。 ベースメジャーは、基盤となるデータベース分析モデルで事前定義されている必要があります。Looker では、分析モデルのディメンションに対して集計(
結合: ベースビューが分析モデルに基づく Explore には、結合を含めることはできません。同様に、分析モデルに基づくビューを、標準の LookML ベースビューを持つ Explore に結合することはできません。
暗黙的な結合: 暗黙的な結合に依存する機能は、分析モデルではサポートされていません。暗黙的な結合に依存する機能の例としては、カスタム カレンダーや、
type: location、type: distance、またはtype: zipcodeで定義されたフィールドなどがあります。分析モデルでは、次の機能は対象外です。
分析モデルは現在の接続からアクセス可能である必要があります
sql_analytic_model_name パラメータが explore オブジェクト内で使用されている場合、その explore オブジェクトは モデル オブジェクトに含まれます(このページの階層に、この関係チェーンが示されています)。モデルオブジェクトには、データベース connection が定義されています。sql_analytic_model_name
パラメータで分析モデルを参照する場合、分析モデルはモデルファイルで指定された関連接続内でアクセス可能である必要があります。
デフォルトのデータベースとスキーマ(Google BigQuery の場合は課金プロジェクトとデータセット)は、Looker 管理者がデータベースへの Looker 接続を作成するときに定義されます。