sql_analytic_model_name (適用於檢視畫面)

本頁面是指 檢視區塊sql_analytic_model_name 參數。

sql_analytic_model_name 也可做為「探索」的一部分,詳情請參閱 sql_analytic_model_name (適用於「探索」) 參數說明文件頁面。

用量

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 參數會指定現有資料庫內分析模型的名稱 (BigQuery 圖表Snowflake 中的語意檢視),做為 LookML 檢視的基礎。這項功能可讓您直接在資料庫中運用定義的分析模型,例如 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 圖形實體建立 LookML 維度,您必須在設定範圍時使用底線分隔元素。舉例來說,如果是 BigQuery 圖表,這個 LookML 維度會以 Stores 節點資料表中的 location_id 屬性為準:

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

不過,如要建立以 Snowflake 語意檢視為基礎的 LookML 維度,您必須使用指標或維度的不合格名稱。

範例

以下是在 BigQuery 資料庫中定義的 BigQuery 圖形範例,名稱為 StoreGraph

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 Graph 建立的 LookML 檢視區塊範例,包括對應至 Graph 的維度和測量指標:

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) ;;
      }
      
  • 彙整:基本檢視表以分析模型為基礎的探索,不得包含任何彙整。同樣地,以分析模型為基礎的檢視區塊,也無法併入具有標準 LookML 基本檢視區塊的「探索」。

  • 隱含聯結:分析模型不支援依賴隱含聯結的功能。依賴隱含聯結的功能範例包括自訂日曆,以及使用 type: locationtype: distancetype: zipcode 定義的欄位。

  • 分析模型不支援下列功能:

必須可從目前的連線存取分析模型

view 物件中使用 sql_analytic_model_name 參數時,可以在 explore 物件中參照該 view 物件,而 explore 物件則會參照 model 物件。模型物件中定義了資料庫 connection。在 sql_analytic_model_name 參數中參照分析模型時,分析模型必須可在模型檔案中指定的相關聯連線內存取。

預設的資料庫結構定義 (如果是 Google BigQuery,則是帳單專案資料集) 是由 Looker 管理員在建立資料庫的 Looker 連線時定義。