sql_analytic_model_name(ビューの場合)

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

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

用途

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

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

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

定義

BigQuery と Snowflake の接続の場合、sql_analytic_model_name パラメータは、LookML ビューのベースとして使用する既存のデータベース内分析モデル(BigQuery Graph または Snowflake のセマンティック ビュー)の名前を指定します。これにより、BigQuery GraphSnowflake のセマンティック ビューなど、データベースで直接定義された分析モデルを活用できます。

このシナリオでは、分析モデル オブジェクトはすでにデータベースに存在し、データベースによって管理されています。分析モデルは Looker によって作成、維持、管理されません。これは、sql_table_name を使用して LookML ビューとして公開された通常のデータベース テーブルが Looker によって管理されないのと同様です。

LookML ビューファイルで、sql_analytic_model_name パラメータを使用して、データベース上の分析モデルを Looker に指定します。次に、Looker ディメンションとメジャーを作成して分析モデルにマッピングし、Looker を使用して分析モデルにクエリを実行できるようにします。

分析モデル名のスコープ設定

分析モデル名のみを使用して分析モデルを参照すると、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 接続のドキュメント ページをご覧ください。

分析ビューに基づいて LookML ディメンションとメジャーを作成する

ビューファイルを作成し、分析モデルを sql_analytic_model_name として識別したら、同じビューファイルで、分析モデルに基づく LookML ディメンションとメジャーを定義できます。

分析モデルの要素を参照するために使用する適切な SQL 構文については、ダイアレクトのドキュメントをご覧ください。たとえば、BigQuery Graph エンティティから LookML ディメンションを作成するには、スコーピング時にアンダースコアを使用して要素を区切る必要があります。たとえば、BigQuery Graph の場合、この LookML ディメンションは Stores ノードテーブルの location_id プロパティに基づいています。

  dimension: location_id {
    type: number
    sql: Stores_location_id ;;
  }

ただし、Snowflake セマンティック ビューに基づく LookML ディメンションを作成するには、指標またはディメンションの非修飾名を使用する必要があります。

次に、BigQuery データベースで定義された StoreGraph という名前の BigQuery グラフの例を示します。

CREATE OR REPLACE PROPERTY GRAPH mydataset.StoreGraph
  NODE TABLES (
    mydataset.Stores AS S,
    mydataset.Locations AS L
    PROPERTIES(id, name, population, MEASURE(SUM(population)) AS total_population)
  )
  EDGE TABLES (
    mydataset.Stores AS SL
    SOURCE KEY (location_id) REFERENCES L (id)
    DESTINATION KEY (name) REFERENCES S (name)
  );

次に、StoreGraph BigQuery グラフに基づく 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 ;;
  }
}

注意点

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 パラメータが view オブジェクト内で使用されている場合、その view オブジェクトは explore オブジェクトで参照でき、その explore オブジェクトは model オブジェクトで参照できます。モデル オブジェクトには、定義されたデータベース connection があります。sql_analytic_model_name パラメータで分析モデルを参照する場合は、モデルファイルで指定された関連付けられた接続内で分析モデルにアクセスできる必要があります。

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