derived_analytic_model

用量

# 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 GraphSnowflake 中的語意檢視區塊)。

衍生資料表不同,Looker 管理的分析模型物件不會在資料庫中保留任何資料,也不會以遞增方式重新整理。而是代表語意模型,直接在資料庫中定義關係和指標。

Looker 支援兩種衍生分析模型:

以 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 子參數時,請勿加入 CREATECREATE 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 陳述式會正確納入您在 LookML view 參數中提供的分析模型名稱。

如需使用 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_modelsql 子參數,為 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_modelcreate_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_modelsql_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 的「管理」部分使用「持續性衍生資料表」頁面,取得分析模型的穩定分析模型名稱:

  1. 如果尚未顯示「管理」選單,請點選 Looker「主選單」圖示 ,然後選取「管理」。(如果您位於 Looker 主選單的「探索」或「開發」部分,可能需要按一下返回箭頭,才能看到「管理」選單)。
  2. 在「管理」選單中,選取「永久衍生資料表」
  3. 在「永久衍生資料表」頁面中,搜尋您的分析模型名稱。
  4. 按一下分析模型的三點選單,然後選取「PDT 詳細資料」
  5. 在「PDT Details」模式中,找出「Stable Name」欄位。

如要直接查詢穩定分析模型,請在模型名稱前加入臨時結構定義名稱。舉例來說,如果臨時結構定義名稱為 tmp,您可以使用類似這樣的指令查詢穩定版分析模型:

SELECT * from tmp.PA_bq_analytic_model_sales_semantic_view

「探索」的「SQL」分頁

如果無法存取「Persistent Derived Tables」(永久衍生資料表) 管理頁面,可以從分析模型「探索」查詢的「資料」部分中「SQL」分頁的資訊,判斷穩定名稱。如要取得分析模型的穩定名稱,請按照下列步驟操作:

  1. 開啟分析模型檢視畫面的「探索」

  2. 在「探索」中,從欄位挑選器選取任何維度或測量指標。

  3. 按一下「資料」部分的「SQL」分頁標籤。

  4. 在「SQL」分頁中,找出下列其中一個 SQL 陳述式:

    • BigQuery Graph:
      • CREATE PROPERTY GRAPH
      • SELECT ... FROM GRAPH_EXPAND('PROPERTY_GRAPH_NAME')
    • 適用於 Snowflake 語意檢視畫面:
      • CREATE SEMANTIC VIEW
      • SELECT ... FROM SEMANTIC_VIEW_NAME
  5. 穩定名稱是 Looker 在暫存結構定義中建立的檢視區塊,指向「SQL」分頁中顯示的實際模糊處理資料表。如要取得分析檢視區塊的穩定名稱,請填入 SQL 陳述式中的下列資訊:

    SCRATCH_SCHEMA_NAME.CONNECTION_REGISTRATION_KEY_MODEL_NAME_VIEW_NAME
    
    • SCRATCH_SCHEMA_NAME:臨時結構定義名稱是 CREATESELECT 陳述式後方字串的開頭,位於「.」之前
    • CONNECTION_REGISTRATION_KEY:連線註冊金鑰為兩個字元,視資料庫方言而定,會遵循 CREATESELECT 陳述式中資料表名稱的美元符號或第一個底線。
    • MODEL_NAME:LookML 模型的名稱。
    • VIEW_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 為基礎的衍生分析模型:

如要建立以 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_oneone_to_oneone_to_manymany_to_many)。

設定以 LookML 為基礎的衍生分析模型

如要設定以 LookML 為基礎的衍生分析模型,請按照下列步驟操作:

  1. 使用 foreign_key 定義基本檢視區塊和來源探索
  2. 建立衍生分析模型檢視區塊
  3. 在分析模型檢視畫面中定義 LookML 維度和測量指標
  4. 為分析模型檢視區塊建立「探索」
  5. 在 Looker 中查詢分析模型

步驟 1:使用 foreign_key 聯結定義基本檢視區塊和來源探索

首先,請確保基本檢視區塊 (例如 order_itemsordersusers) 已定義主鍵。

接著,在 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,請按照下列步驟操作:

  1. 按一下「資料」面板中的「SQL」分頁標籤。
  2. 在「SQL」分頁中,您可以查看 Looker 產生的資料庫專屬 DDL 陳述式 (例如 BigQuery Graph 的 CREATE PROPERTY GRAPH ...NODE TABLESEDGE TABLES),以及針對分析模型執行的查詢 (例如 FROM GRAPH_EXPAND(...) AS sales_analytic_model)。
  3. 查詢執行時,Looker 會將分析模型保留在資料庫臨時結構定義中。後續查詢會重複使用持續性模型,避免重新執行 DDL,直到 LookML 定義變更為止。

以 LookML 為基礎的衍生分析模型注意事項

定義以 LookML 為基礎的衍生分析模型時,請注意下列事項:

  • 主鍵:來源探索中的每個檢視區塊都必須有主鍵維度,且該維度是使用 primary_key: yes 定義。
  • 無環拓撲:來源 Explore 中的聯結所定義的關係必須形成嚴格的無環樹狀結構。系統不支援循環關係。
  • 來源檢視畫面規定:來源「探索」中包含的檢視畫面必須是標準資料庫資料表,或是名稱穩定的持續衍生資料表 (PDT)。以其他分析模型為基礎的暫時性 (非永久性) 衍生資料表和檢視畫面,無法做為來源。
  • 探索參數:系統會忽略來源探索中的動態執行階段篩選參數 (sql_always_wherealways_filteraccess_filter) 和 sql_always_join

注意事項

使用資料庫內分析模型時,請注意下列事項和限制:

  • 資料類型:分析模型僅支援下列維度指標資料類型:

    • 支援的維度和指標:
      • 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 定義的欄位。

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