sql_analytic_model_name(Explore の場合)

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

sql_analytic_model_name は、sql_analytic_model_name(ビューの場合)パラメータのドキュメント ページで説明されているように、ビューの一部としても使用できます。

用途

explore: explore_name {
  sql_analytic_model_name: analytic_model_name ;;
}
階層
sql_analytic_model_name
デフォルト値
なし

許可
データベース内分析モデル名

特別なルール
  • 分析モデルは、BigQuery と Snowflake の接続でのみサポートされています。
  • Explore の sql_analytic_model_name は、同じビューでデータベース上の複数の分析モデルを記述できる場合にのみ使用する必要があります。
  • sql_analytic_model_name で参照される分析モデルは、そのモデルのデータベース接続内でアクセス可能である必要があります。
  • 分析モデルが、データベース接続で定義したデフォルト パスとは異なるデータベース、スキーマ、プロジェクト、データセットにある場合は、分析モデル名をスコープ設定する必要があります。

定義

BigQuery と Snowflake の接続の場合、sql_analytic_model_name パラメータは、LookML 探索のベースとして使用する既存のデータベース内分析モデル(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 グラフに基づく 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 という別のグラフがあると仮定すると、次の Explore は MyStoreGraphView ビューファイルの sql_analytic_model_name 値をオーバーライドします。この Explore には MyStoreGraphView で定義された LookML ディメンションとメジャーが同じように含まれますが、Explore は ShopDetailsGraph 分析モデルをクエリします。

explore: MyStoreGraphView {
  sql_analytic_model_name: ShopDetailsGraph ;;
}

注意点

Looker の分析モデルに関する考慮事項

データベース内分析モデルを使用する場合は、次の考慮事項と制限事項に注意してください。

  • データ型: 分析モデルでサポートされているのは、ディメンション指標の次のデータ型のみです。

    • ディメンションとメジャーでサポートされます。
      • string
      • number
      • date
      • yesno
    • ディメンションでのみサポートされます。
      • time
      • date_time
  • 指標:

    • ベース指標は事前定義されている必要があります: ベース指標は、基盤となるデータベース分析モデルで事前定義されている必要があります。Looker では、分析モデルのディメンションに対して集計(type: sumtype: count など)を実行して、新しいベースメジャーを定義することはできません。
    • 他のメジャーに基づくメジャーがサポートされています: LookML メジャーの sql パラメータを使用して、分析モデルの事前定義されたベースメジャーを使用する非集計計算を実行できます。他のメジャーに基づくメジャーを作成する場合、新しいメジャーを sumcount などの集計メジャー タイプとして定義することはできません。新しい指標は、stringnumberdateyesno などの非集計指標タイプとして定義する必要があります。次の例をご覧ください。

      measure: average_order_amount {
        type: number
        sql: ROUND(${total_order_amount} / NULLIF(${count_orders}, 0), 2) ;;
      }
      
  • 結合: 分析モデルに基づくベースビューを持つ Explore には、結合を含めることはできません。同様に、分析モデルに基づくビューを、標準の LookML ベースビューを持つ Explore に結合することはできません。

  • 暗黙的な結合: 暗黙的な結合に依存する機能は、分析モデルではサポートされていません。暗黙的な結合に依存する機能の例としては、カスタム カレンダーや、type: locationtype: distancetype: zipcode で定義されたフィールドなどがあります。

  • 分析モデルでは、次の機能はサポートされていません。

分析モデルは現在の接続からアクセスできる必要があります

sql_analytic_model_name パラメータが explore オブジェクト内で使用されている場合、その explore オブジェクトは モデル オブジェクトに含まれます(このページの階層にこの関係チェーンが示されています)。モデル オブジェクトには、定義されたデータベース connection があります。sql_analytic_model_name パラメータで分析モデルを参照する場合、分析モデルはモデルファイルで指定された関連付けられた接続内でアクセス可能である必要があります。

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