用量
# SQL-based derived analytic model
view: view_name {
derived_analytic_model: {
publish_as_db_analytic_model: yes | no
sql: analytic_model_definition ;;
}
}
# LookML-based derived analytic model
view: view_name {
derived_analytic_model: {
publish_as_db_analytic_model: yes | no
model_source: explore_name {
fields: [field_1, field_2, ...]
join: +joined_view_name {
foreign_key: field_name
}
}
}
}
|
階層
derived_analytic_model |
預設值
無
特別規則
分析模型僅支援 BigQuery 和 Snowflake 連線。
|
定義
如果是 BigQuery 和 Snowflake 連線,derived_analytic_model 參數會定義由 Looker 管理的資料庫內分析模型 (BigQuery Graph 或 Snowflake 中的語意檢視區塊)。
與衍生資料表不同,Looker 管理的分析模型物件不會在資料庫中保留任何資料,也不會以遞增方式重新整理。而是代表語意模型,直接在資料庫中定義關係和指標。
Looker 支援兩種衍生分析模型:
- 以 SQL 為基礎的衍生分析模型:您可以使用 SQL 資料定義語言 (DDL) 陳述式定義分析模型。Looker 會執行您指定的 SQL 陳述式,在資料庫中生成分析模型。
- 以 LookML 為基礎的衍生分析模型:您可以參考現有的 LookML 探索來定義分析模型。Looker 會自動將探索拓撲、聯結、維度和測量指標,轉換為資料庫原生分析模型 DDL 陳述式,並在資料庫中建立及管理模型。
以 SQL 為基礎的衍生分析模型
在以 SQL 為基礎的衍生分析模型中,Looker 會執行您在 derived_analytic_model LookML 參數定義中指定的適當 SQL 資料定義語言 (DDL) 陳述式,在資料庫中產生分析模型。您在 derived_analytic_model 參數中定義的 SQL 語法必須受到資料庫支援。
如要定義以 SQL 為基礎的分析模型,請使用 derived_analytic_model 參數的下列其中一個子參數:
此外,如果您使用 sql 子參數定義分析檢視區塊,則可使用 derived_analytic_model 參數的 publish_as_db_analytic_model 子參數,建立可在 Looker 外部查詢的穩定分析模型。
在 derived_analytic_model 參數中定義分析模型後,即可定義對應至分析模型的 LookML 維度和測量指標。詳情請參閱「以 SQL 為基礎的衍生分析模型範例」一節。
sql
如要只提供分析模型定義的 SQL,並由 Looker 管理分析模型的建立作業,請使用 sql 參數。使用 sql 子參數時,請勿加入 CREATE 或 CREATE OR REPLACE 陳述式,因為 Looker 會自動產生 DDL 陳述式,在資料庫端建立分析模型。
如需使用 sql 參數在資料庫中建立分析模型的範例,請參閱「使用 sql 建立衍生分析模型」。
sql_create
使用 sql_create 參數定義完整的 SQL 陳述式,以建立分析模型。使用 sql_create 參數時,您需要加入 CREATE OR REPLACE 陳述式 (如果方言不支援 CREATE OR REPLACE,則為 CREATE 陳述式)。
使用 sql_create 子參數時,請注意下列事項:
- 如果是 BigQuery 連線,請使用
CREATE OR REPLACE陳述式建立分析模型。 - 使用
${SQL_TABLE_NAME}替換所建立的分析模型計算名稱。確保 SQL 陳述式會正確納入您在 LookMLview參數中提供的分析模型名稱。
如需使用 sql_create 參數在資料庫中建立分析模型的範例,請參閱「使用 sql_create 建立衍生分析模型」。
create_process
如要定義多個連續的 SQL 陳述式來定義分析模型,請使用 create_process 參數。在 create_process 參數下,使用 sql_step 子參數指定個別 SQL 陳述式。資料庫會依您指定的順序,一次執行一項 sql_step 陳述式。Looker 會在您定義時,在 sql_step 子參數中發出 SQL 陳述式,且不含任何包裝函式,這表示您必須加入含有 CREATE OR REPLACE 陳述式的步驟 (如果方言不支援 CREATE OR REPLACE,則為 CREATE 陳述式)。
如需使用 create_process 參數在資料庫中建立分析模型的範例,請參閱「使用 create_process 建立衍生分析模型」。
publish_as_db_analytic_model
對於使用 sql 參數建立的衍生分析模型,您可以使用 publish_as_db_analytic_model: yes 定義衍生分析模型,提示 Looker 建立穩定的分析模型,以便在 Looker 外部查詢。
在衍生分析模型的 LookML 部署至正式環境後,Looker 重新產生器會在下一個週期發布 (建立) 穩定分析模型。publish_as_db_analytic_model: yes
指定 publish_as_db_analytic_model: yes 時,Looker 重新產生器會在資料庫中建立兩個分析模型:一個具有內部名稱,另一個具有穩定名稱。否則,再生器只會在資料庫中建立一個分析模型,並使用內部名稱。
如要瞭解如何取得穩定分析模型的名稱,以便在 Looker 以外的平台查詢穩定分析模型,請參閱「存取穩定分析模型」一節。
根據以 SQL 為基礎的分析檢視畫面,建立 LookML 維度和測量指標
定義分析模型後,您可以在同一個檢視表檔案中,定義以分析模型為基礎的 LookML 維度和測量指標。
請參閱方言的說明文件,瞭解定義分析模型時要使用的正確語法,以及如何參照分析模型中的元素。舉例來說,如要從 BigQuery 圖形實體建立 LookML 維度,您必須在設定範圍時使用底線分隔元素。舉例來說,如果是 BigQuery 圖表,這個 LookML 維度會以 Stores 節點資料表中的 location_id 屬性為準:
dimension: location_id {
type: number
sql: Stores_location_id ;;
}
不過,如要建立以 Snowflake 語意檢視為基礎的 LookML 維度,您必須使用指標或維度的不合格名稱。
以 SQL 為基礎的衍生分析模型範例
以下各節提供範例,說明如何使用 derived_analytic_model 的不同子參數建立分析檢視區塊:
使用 sql 建立衍生分析模型
以下是 LookML 檢視表檔案範例,使用 derived_analytic_model 的 sql 子參數,為 BigQuery 資料庫定義以 SQL 為基礎的分析模型。Looker 會執行 sql 參數中提供的 SQL DDL 指令,在資料庫中建立分析模型。
請注意範例中的下列事項:
sql子參數只包含分析模型本身的定義。沒有CREATE陳述式,因為使用sql時,Looker 會自動處理分析模型的CREATE指令。- 分析模型是使用
publish_as_db_analytic_model: yes定義,因此 Looker 會建立穩定的分析模型,可在 Looker 外部查詢。
view: MyWarehouseOrdersView {
derived_analytic_model: {
publish_as_db_analytic_model: yes
# Defining the analytic model
sql:
NODE TABLES (
Customers
KEY(customer_id)
PROPERTIES(
country_code,
concat(first_name, ' ', last_name) AS name,
age,
MEASURE(AVG(age)) AS AvgAge
),
Orders
KEY(order_id)
PROPERTIES (
customer_id,
employee_id,
date,
discount,
MEASURE(AVG(discount)) AS AvgDiscount
)
EDGE TABLES (
-- Relationship: Orders -> Customers
looker_test.orders AS orders_to_users
KEY(id)
SOURCE KEY (order_id) REFERENCES orders (order_id)
DESTINATION KEY (customer_id) REFERENCES Customers (customer_id)
NO PROPERTIES
) ;;
}
# Mapping dimensions/measures to the dimensions/measures
# provided by the analytic model
dimension: customer_id {
type: number
sql: Customers_customer_id ;;
}
dimension: customer_age {
type: number
sql: Customers_age ;;
}
measure: orders_avg_discount {
type: number
sql: Orders_AvgDiscount ;;
}
}
使用 create_process 建立衍生分析模型
以下是 LookML 檢視表檔案範例,可使用 derived_analytic_model 的 create_process 子參數,為 BigQuery 資料庫定義以 SQL 為基礎的分析模型。在本例中,您需要定義多個連續的 SQL 陳述式,才能定義分析模型。第一個步驟會捨棄現有的分析模型,第二個步驟則會建立分析模型。
view: university_statistics {
derived_analytic_model: {
create_process: {
sql_step:
DROP PROPERTY GRAPH IF EXISTS ${SQL_TABLE_NAME} ;;
sql_step:
CREATE PROPERTY GRAPH ${SQL_TABLE_NAME}
NODE TABLES (
university.College
KEY(college_id)
PROPERTIES(college_id, college_name),
university.Department
KEY(dept_id)
PROPERTIES(dept_id, dept_name, college_id,
budget OPTIONS(description="Department budget in USD"),
MEASURE(SUM(budget)) AS total_budget),
university.Course
KEY(course_id)
PROPERTIES(
course_id,
course_name,
credits,
dept_id,
MEASURE(AVG(credits)) AS avg_credits,
MEASURE(SUM(credits)) AS total_credits,
MEASURE(COUNT(course_id)) AS course_count)
)
EDGE TABLES (
university.Department AS CollegeDept
SOURCE KEY (college_id) REFERENCES College (college_id)
DESTINATION KEY (dept_id) REFERENCES Department (dept_id),
university.Course AS DeptCourse
SOURCE KEY (dept_id) REFERENCES Department (dept_id)
DESTINATION KEY (course_id) REFERENCES Course (course_id)
);;
}
}
# Mapping dimensions/measures to the dimensions/measures
# provided by the analytic model
dimension: college_id {
type: number
sql: College_college_id ;;
}
dimension: course_name {
type: string
sql: Course_course_name ;;
}
...
}
使用 sql_create 建立衍生分析模型
以下是 LookML 檢視表檔案範例,可使用 derived_analytic_model 的 sql_create 子參數,為 BigQuery 資料庫定義以 SQL 為基礎的分析模型。在本例中,sql_create 參數會定義要執行的完整 CREATE OR REPLACE 陳述式,以便在單一步驟中建立分析模型。
view: MyWarehouseOrdersView {
derived_analytic_model: {
sql_create:
CREATE OR REPLACE PROPERTY GRAPH ${SQL_TABLE_NAME}
NODE TABLES(
accounting.Loan AS Loan
KEY(loanId)
LABEL Loan PROPERTIES(
loanId,
loanAmount,
balance,
createTime,
interestRate,
accountId,
balance + 100 AS derived_balance,
CASE WHEN balance > 1000 THEN "High" ELSE "Low" END AS risk_level,
CONCAT("ID-", CAST(loanId AS STRING)) AS full_id,
DATE(2024, 1, 1) AS fixed_date,
MEASURE(AVG(interestRate)) AS avg_interest_rate
),
accounting.AccountView AS Account
KEY(accountId)
LABEL Account PROPERTIES(
accountId,
createTime,
isBlocked,
accountType,
amount,
ownerId,
MEASURE(MIN(createTime)) AS oldest_account_create_time,
MEASURE(MAX(createTime)) AS newest_account_create_time,
MEASURE(AVG(amount)) AS avg_account_amount,
MEASURE(SUM(amount)) AS total_account_amount,
MEASURE(COUNT(DISTINCT accountType)) AS account_type_count
),
accounting.PersonMV AS Person
KEY(personId)
LABEL Person PROPERTIES(
personId,
personName,
age,
age_tier,
MEASURE(AVG(age)) AS avg_age,
MEASURE(COUNT(DISTINCT age_tier)) AS age_tier_count
)
)
EDGE TABLES(
accounting.Loan AS Account_Repay_Loan
KEY(loanId)
SOURCE KEY(loanId) REFERENCES Loan(loanId)
DESTINATION KEY(accountId) REFERENCES Account(accountId)
LABEL Repay NO PROPERTIES,
accounting.Account AS Person_Own_Account
KEY(accountId)
SOURCE KEY(accountId) REFERENCES Account(accountId)
DESTINATION KEY(ownerId) REFERENCES Person(personId)
LABEL Own NO PROPERTIES
);;
}
# Mapping dimensions/measures to the dimensions/measures
# provided by the analytic model
dimension: loan_id {
type: number
sql: Loan_loanId ;;
}
dimension: account_ID {
type: number
sql: Account_accountID ;;
}
...
}
存取穩定分析模型
如果您使用 sql 子參數建立衍生分析模型,並在 derived_analytic_model 參數下加入 publish_as_db_analytic_model: yes 陳述式,Looker 會在衍生分析模型的 LookML 部署至正式環境後,於下一個 Looker 重新產生器週期發布 (建立) 穩定分析模型。publish_as_db_analytic_model: yes
發布穩定分析模型後,您可以使用穩定名稱直接查詢。取得分析模型穩定名稱的方法有兩種:
PDT 詳細資料模式
如果您是管理員或擁有 see_pdts 權限的使用者,可以按照下列步驟,在 Looker 的「管理」部分使用「持續性衍生資料表」頁面,取得分析模型的穩定分析模型名稱:
- 如果尚未顯示「管理」選單,請點選 Looker「主選單」圖示 ,然後選取「管理」。(如果您位於 Looker 主選單的「探索」或「開發」部分,可能需要按一下返回箭頭,才能看到「管理」選單)。
- 在「管理」選單中,選取「永久衍生資料表」。
- 在「永久衍生資料表」頁面中,搜尋您的分析模型名稱。
- 按一下分析模型的三點選單,然後選取「PDT 詳細資料」。
- 在「PDT Details」模式中,找出「Stable Name」欄位。
如要直接查詢穩定分析模型,請在模型名稱前加入臨時結構定義名稱。舉例來說,如果臨時結構定義名稱為 tmp,您可以使用類似這樣的指令查詢穩定版分析模型:
SELECT * from tmp.PA_bq_analytic_model_sales_semantic_view
「探索」的「SQL」分頁
如果無法存取「Persistent Derived Tables」(永久衍生資料表) 管理頁面,可以從分析模型「探索」查詢的「資料」部分中「SQL」分頁的資訊,判斷穩定名稱。如要取得分析模型的穩定名稱,請按照下列步驟操作:
在「探索」中,從欄位挑選器選取任何維度或測量指標。
按一下「資料」部分的「SQL」分頁標籤。
在「SQL」分頁中,找出下列其中一個 SQL 陳述式:
- BigQuery Graph:
CREATE PROPERTY GRAPHSELECT ... FROM GRAPH_EXPAND('PROPERTY_GRAPH_NAME')
- 適用於 Snowflake 語意檢視畫面:
CREATE SEMANTIC VIEWSELECT ... FROM SEMANTIC_VIEW_NAME
- BigQuery Graph:
穩定名稱是 Looker 在暫存結構定義中建立的檢視區塊,指向「SQL」分頁中顯示的實際模糊處理資料表。如要取得分析檢視區塊的穩定名稱,請填入 SQL 陳述式中的下列資訊:
SCRATCH_SCHEMA_NAME.CONNECTION_REGISTRATION_KEY_MODEL_NAME_VIEW_NAME- SCRATCH_SCHEMA_NAME:臨時結構定義名稱是
CREATE或SELECT陳述式後方字串的開頭,位於「.」之前 - CONNECTION_REGISTRATION_KEY:連線註冊金鑰為兩個字元,視資料庫方言而定,會遵循
CREATE或SELECT陳述式中資料表名稱的美元符號或第一個底線。 - MODEL_NAME:LookML 模型的名稱。
- VIEW_NAME:定義分析模型的檢視區塊名稱。
- SCRATCH_SCHEMA_NAME:臨時結構定義名稱是
舉例來說,以下是 BigQuery 連線的「探索」查詢「SQL」分頁中的文字。分析模型是在名為 sales_analytic_model 的檢視區塊中定義,而 LookML 模型的名稱為 thelook。在本例中,Looker 已建立分析模型,因此沒有 CREATE 陳述式。但 SELECT ... FROM GRAPH_EXPAND 陳述式包含資料表名稱資訊:
-- use existing sales_analytic_model in `looker-test-db.looker_scratch.LG_J7LSZ1778710001008_sales_analytic_model`
SELECT
sales_analytic_model.orders_id AS sales_analytic_model_orders_id,
AGG(sales_analytic_model.orders_count_orders ) AS sales_analytic_model_count_orders
FROM GRAPH_EXPAND("looker-test-db.looker_scratch.LG_J7LSZ1778710001008_sales_analytic_model") AS sales_analytic_model
GROUP BY
1
ORDER BY
2 DESC
LIMIT 500
以下是您需要用來衍生分析模型穩定名稱的值:
- 「SCRATCH_SCHEMA_NAME」這個價格
looker-test-db.looker_scratch - 「CONNECTION_REGISTRATION_KEY」這個價格
J7 - 「MODEL_NAME」這個價格
thelook - 「VIEW_NAME」這個價格
sales_analytic_model
因此,分析模型的穩定名稱如下:
looker-test-db.looker_scratch.J7_thelook_sales_analytic_model
取得分析模型的穩定名稱後,即可直接查詢分析模型。
以 LookML 為基礎的衍生分析模型
以 LookML 為基礎的衍生分析模型可讓您直接從現有的 LookML 探索定義資料庫內分析模型 (例如 BigQuery 圖表或 Snowflake 語意檢視區塊,不必編寫資料庫專屬的 SQL DDL 陳述式。
使用下列參數定義以 LookML 為基礎的衍生分析模型:
model_sourcepublish_as_db_analytic_model(這個參數適用於以 LookML 為基礎和以 SQL 為基礎的衍生分析模型)
如要建立以 LookML 為基礎的衍生分析模型,請使用 model_source 參數指向定義資料拓撲的來源探索。接著,Looker 會自動將 LookML 檢視區塊、聯結、維度和測量指標,轉換為資料庫原生分析模型 DDL 陳述式:
- 節點 / 資料表:來源「探索」中的每個 LookML 檢視區塊,都會成為 BigQuery 圖形中的節點資料表,或是 Snowflake 語意檢視區塊中的資料表。
- 邊緣 / 關係:在來源的「探索」中,使用
foreign_key參數定義的每個聯結,都會成為 BigQuery 圖形中的邊緣資料表,或是 Snowflake 語意檢視區塊中的關係。 - 屬性 / 維度和指標:來源檢視區塊的 LookML 維度和測量指標會成為 BigQuery Graph 中的節點屬性,或是 Snowflake 語意檢視區塊中的維度和指標。
查詢以 LookML 為基礎的衍生分析模型檢視區塊時,Looker 會產生並執行資料庫 DDL,在資料庫臨時結構定義中建立分析模型,然後對產生的分析模型執行查詢。建立分析模型後,Looker 會保留該模型,因此後續查詢會直接參照現有模型,直到 LookML 定義修改為止。
model_source
model_source 參數會指定 LookML 探索的名稱,該探索會做為分析模型的拓撲和關係來源。
view: sales_analytic_model {
derived_analytic_model: {
model_source: order_items {
fields: [order_items.id, orders.id, orders.status, users.name]
}
}
}
來源 Explore 中包含的檢視區塊必須有主鍵,且主鍵維度必須使用 primary_key: yes 定義。
model_source 接受下列子參數:
| 參數 | 說明 |
|---|---|
fields |
選用。指定要從來源「探索」匯出至分析模型的欄位允許清單或拒絕清單。 |
join (或 joins) |
選用。定義或修正來源「探索」中的聯結,特別是針對分析模型。 |
fields
根據預設,來源探索中所有可用的檢視區塊欄位都會匯出至分析模型 (如果來源探索本身是使用 fields 參數定義,則來源探索中的部分欄位可能無法使用)。您可以在 model_source 內使用 fields 子參數,指定要匯出的欄位子集,或使用標準 LookML 清單語法排除特定欄位:
view: sales_analytic_model {
derived_analytic_model: {
model_source: order_items {
fields: [
order_items.id,
order_items.price,
orders.id,
orders.status,
users.name
]
}
}
}
join
model_source 內的 join 參數可讓您在來源「探索」中已指定的聯結中新增精細調整。新增精細調整項目後,您就能專門針對分析模型進行調整,不必變更來源探索定義。
在 model_source 下方的 join 參數中,使用 + 修飾指標指定來源 Explore 中的聯結名稱。例如:join: +view_name。然後使用 join 子參數,視需要在分析模型中調整來源探索的彙整。如需範例,請參閱步驟 2。
model_source 中的 join 參數只會採用聯結精細化。您無法將來源探索中不存在的新聯結新增至分析模型。
model_source 中的 join 參數支援下列子參數:
| 子參數 | 說明 |
|---|---|
foreign_key |
指定外鍵資料欄或維度,建立分析模型的關係。如需使用 foreign_key 參數的範例,請參閱步驟 1 中的範例。 |
relationship |
定義聯結基數 (many_to_one、one_to_one、one_to_many 或 many_to_many)。 |
設定以 LookML 為基礎的衍生分析模型
如要設定以 LookML 為基礎的衍生分析模型,請按照下列步驟操作:
- 使用
foreign_key定義基本檢視區塊和來源探索 - 建立衍生分析模型檢視區塊
- 在分析模型檢視畫面中定義 LookML 維度和測量指標
- 為分析模型檢視區塊建立「探索」
- 在 Looker 中查詢分析模型
步驟 1:使用 foreign_key 聯結定義基本檢視區塊和來源探索
首先,請確保基本檢視區塊 (例如 order_items、orders 和 users) 已定義主鍵。
接著,在 LookML 模型檔案中定義「探索」,指定檢視區塊之間的關係。在資料庫內分析模型中建立關係時,來源探索中的每個聯結都必須有 foreign_key 參數:
explore: order_items {
fields: [ALL_FIELDS*]
join: orders {
relationship: many_to_one
foreign_key: order_id
}
join: users {
relationship: many_to_one
foreign_key: orders.user_id
}
}
步驟 2:建立衍生分析模型檢視區塊
建立新的檢視區塊檔案 (例如 sales_analytic_model.view.lkml),並新增 derived_analytic_model 區塊,其中 model_source 參數會指向來源「探索」:
view: sales_analytic_model {
derived_analytic_model: {
model_source: order_items {
# Optional: Use fields to restrict the properties exported to the analytic model
# fields: [order_items.id, orders.id, orders.status, users.name]
# Optional: Use join refinements to refine the relationships from the source Explore
# join: +orders {
# foreign_key: order_id
# }
# join: +users {
# foreign_key: orders.user_id
# }
}
}
...
步驟 3:在分析模型檢視畫面中定義 LookML 維度和測量指標
在同一個分析模型檢視表檔案中,定義對應至所產生分析模型中屬性的維度、維度群組和測量指標,以便在 Looker 探索中查詢。
使用 ${TABLE}.<view_name>_<field_name> (或 ${TABLE}.<property_name>) 參照基礎模型中的欄位:
# Dimensions
dimension: order_items_id {
type: number
sql: ${TABLE}.order_items_id ;;
}
dimension: orders_id {
type: number
sql: ${TABLE}.orders_id ;;
}
dimension: orders_status {
type: string
sql: ${TABLE}.orders_status ;;
}
dimension_group: orders_created {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.orders_created_at ;;
}
dimension: users_name {
type: string
sql: ${TABLE}.users_name ;;
}
dimension_group: users_created {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.users_created_at ;;
}
# Measures
measure: count_users {
type: number
sql: ${TABLE}.users_count_users ;;
}
measure: count_orders {
type: number
sql: ${TABLE}.orders_count_orders ;;
}
measure: total_order_amount {
type: number
sql: ${TABLE}.orders_total_order_amount ;;
}
measure: total_order_item_amount {
type: number
sql: ${TABLE}.order_items_total_order_item_amount ;;
}
}
步驟 4:為分析模型檢視建立探索
在模型檔案 (例如 sales.model.lkml) 中,使用檢視區塊的名稱,為分析模型檢視區塊建立探索:
explore: sales_analytic_model {}
以分析模型檢視畫面為基礎的探索無法包含聯結,因為關係是在分析模型本身內部定義。
步驟 5:在 Looker 中查詢分析模型
在 Looker 中開啟新的探索 (例如「銷售分析模型」),選取維度和指標,然後執行查詢。
如要檢查生成的 SQL,請按照下列步驟操作:
- 按一下「資料」面板中的「SQL」分頁標籤。
- 在「SQL」分頁中,您可以查看 Looker 產生的資料庫專屬 DDL 陳述式 (例如 BigQuery Graph 的
CREATE PROPERTY GRAPH ...、NODE TABLES和EDGE TABLES),以及針對分析模型執行的查詢 (例如FROM GRAPH_EXPAND(...) AS sales_analytic_model)。 - 查詢執行時,Looker 會將分析模型保留在資料庫臨時結構定義中。後續查詢會重複使用持續性模型,避免重新執行 DDL,直到 LookML 定義變更為止。
以 LookML 為基礎的衍生分析模型注意事項
定義以 LookML 為基礎的衍生分析模型時,請注意下列事項:
- 主鍵:來源探索中的每個檢視區塊都必須有主鍵維度,且該維度是使用
primary_key: yes定義。 - 無環拓撲:來源 Explore 中的聯結所定義的關係必須形成嚴格的無環樹狀結構。系統不支援循環關係。
- 來源檢視畫面規定:來源「探索」中包含的檢視畫面必須是標準資料庫資料表,或是名稱穩定的持續衍生資料表 (PDT)。以其他分析模型為基礎的暫時性 (非永久性) 衍生資料表和檢視畫面,無法做為來源。
- 探索參數:系統會忽略來源探索中的動態執行階段篩選參數 (
sql_always_where、always_filter、access_filter) 和sql_always_join,
注意事項
使用資料庫內分析模型時,請注意下列事項和限制:
-
- 支援的維度和指標:
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定義的欄位。分析模型不支援下列功能: