本頁面是指 檢視區塊的
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 中的語意檢視),做為 LookML 檢視的基礎。這項功能可讓您直接在資料庫中運用定義的分析模型,例如 BigQuery Graph 或 Snowflake 中的語意檢視區塊。
在這個情境中,分析模型物件已存在於資料庫中,並由資料庫管理;分析模型並非由 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 分析模型注意事項
使用資料庫內分析模型時,請注意下列事項和限制:
-
- 支援的維度和指標:
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 無法對分析模型中的維度執行匯總 (例如
彙整:基本檢視表以分析模型為基礎的探索,不得包含任何彙整。同樣地,以分析模型為基礎的檢視區塊,也無法併入具有標準 LookML 基本檢視區塊的「探索」。
隱含聯結:分析模型不支援依賴隱含聯結的功能。依賴隱含聯結的功能範例包括自訂日曆,以及使用
type: location、type: distance或type: zipcode定義的欄位。分析模型不支援下列功能:
必須可從目前的連線存取分析模型
在 view 物件中使用 sql_analytic_model_name 參數時,可以在 explore 物件中參照該 view 物件,而 explore 物件則會參照 model 物件。模型物件中定義了資料庫 connection。在 sql_analytic_model_name 參數中參照分析模型時,分析模型必須可在模型檔案中指定的相關聯連線內存取。
預設的資料庫和結構定義 (如果是 Google BigQuery,則是帳單專案和資料集) 是由 Looker 管理員在建立資料庫的 Looker 連線時定義。