Looker 中的與前一段時期相比指標

年對年 (YoY) 分析是一種分析模式,可衡量當前某項指標,並與過去可比較的期間進行比較。

對於支援期增率指標的方言,Looker 開發人員可以在 LookML 專案中新增期增率指標,以便在對應的 Looker 探索中啟用期增率分析。

舉例來說,下列 Looker 探索查詢會顯示當月建立的訂單數量,以及去年建立的訂單數量、與去年的差異,以及與去年相比的百分比變化。您可以抽查值,確認年對年比較結果。舉例來說,2012-03 的「去年訂單數」值與 2011-03 的「訂單數」值相同:

Looker 探索顯示 2012 年 3 月的「去年訂單」為 89,2011 年 3 月的「訂單數」也為 89。

如要將 PoP 衡量指標新增至 LookML 專案,Looker 開發人員必須建立 measuretype: period_over_period,並加入本頁面下一節所述的子參數

舉例來說,以下是 PoP 測量的 LookML,可提供前一年的訂單數:

  measure: order_count_last_year {
    type: period_over_period
    description: "Order count from the previous year"
    based_on: orders.count
    based_on_time: orders.created_year
    period: year
    kind: previous
  }

這項 PoP 措施具有下列屬性:

  • 這項指標是以 based_on: orders.count 定義,因此 PoP 指標會提供前一個時間範圍的訂單數量資料。
  • 定義為 kind: previous,也就是提供前一時間範圍的訂單數量值 (而非前一時間範圍的訂單數量差異,或前一時間範圍的訂單數量變化百分比)。
  • 這項指標會以 period: year 定義,因此會提供與去年同期相近時間範圍的訂單數。

PoP 評估指標的子參數

PoP 措施是 measuretype: period_over_period,包含下列章節所述的子參數:

如「使用 PoP 指標探索查詢」一節所述,PoP 指標會根據 PoP 指標的 LookML 定義和探索查詢中的欄位計算值。因此,在 LookML 中建立 PoP 衡量指標時,請務必遵循下列最佳做法:

  • 在 PoP 測量指標的名稱或測量指標的 description 子參數中,向 Explore 使用者指出 PoP 測量指標的週期。
  • 在 PoP 指標名稱或指標的 description 子參數中,向 Explore 使用者提供 PoP 指標的 based_on 指標。

舉例來說,以下 PoP 評估指標名為 order_count_last_year,並附上說明,讓使用者瞭解這項指標提供的是前一年的訂單數量:

  measure: order_count_last_year {
    type: period_over_period
    description: "Order count from the previous year"
    based_on: orders.count
    based_on_time: orders.created_year
    period: year
    kind: previous
  }

based_on

使用 based_on 欄位指定 PoP 指標的依據 LookML 測量指標。舉例來說,如要根據 orders.count 欄位建立 PoP 評估指標,請輸入下列內容:

    based_on: orders.count

orders.count為依據的 PoP 指標會提供前一個時間範圍的訂單數量資訊,方便你比較目前和前一個時間範圍的銷售量。

您在 based on 欄位中指定的 LookML 測量指標必須屬於下列其中一種類型:

based_on_time

使用 based_on_time 子參數,向 Looker 提供時間欄位,以便計算 PoP 衡量指標值。這個時間欄位可以是下列其中一項:

  • 以時間為依據的維度。如果您在 based_on_time 子參數中指定時間維度,使用者必須在所有使用 PoP 評估指標的查詢中,加入完全相同的時間維度。此外,時間型維度的時間範圍必須等於或小於 PoP 指標的 period 值。舉例來說,如果 PoP 評估指標是使用 based_on_time: created_month 定義,則 PoP 評估指標的 period 值不得為 weekdate
  • type: time維度群組的下列其中一個時間範圍:

    • year
    • fiscal_year
    • month
    • fiscal_quarter
    • quarter
    • week
    • date
    • raw
  • 維度群組的下列其中一個時間範圍:type: custom_calendar

    • custom_date
    • custom_period
    • custom_quarter
    • custom_season
    • custom_week
    • custom_year

如果您在 based_on_time 子參數中指定維度群組時間範圍,您使用的特定時間範圍並不重要,只要將 PoP 評估指標指向 type: time 的維度群組,PoP 評估指標就能使用維度群組的基礎時間戳記。您無法從type: duration的維度群組指定時間範圍;系統不支援時間長度類型維度群組,且會在探索中產生執行階段錯誤。

kind

使用 kind 參數指定 PoP 指標要對前一期進行的計算類型。您可以為 kind 指定下列其中一個值:

  • previous:(預設) 上個期間的值。
  • difference:兩個期間的差異 (目前期間減去上個期間)。
  • relative_change:與前一個週期相比的百分比變化。百分比變化的計算公式如下:

    $$ relativeChange = (current - previous)/previous $$

period

使用 period 子參數指定 PoP 測量指標的步頻,以及要回溯多長時間。舉例來說,如果 PoP 指標是以 period: year 定義,系統就會顯示前一年的值。如果您對每月訂單數執行探索查詢,period: year PoP 指標會顯示去年同月的數值,方便您比較 2025 年 11 月的訂單數與 2024 年 11 月的銷售量。

period 子參數支援下列值:

  • year
  • fiscal_year
  • quarter
  • fiscal_quarter
  • month
  • week
  • date

custom_calendar_period

如果您的 PoP 評估指標是以自訂日曆為準 (如果 PoP 評估指標的 based_on_time 參數指定 type: custom_calendar 維度群組的時間範圍),則必須使用 custom_calendar_period 參數,而非 period 參數。

使用 custom_calendar_period 子參數指定 PoP 測量指標的步頻,以及要回溯多長時間。舉例來說,以 custom_calendar_period: custom_year 定義的年對年指標會顯示前一年的值 (如自訂日曆所定義)。如果您對自訂月度訂單數執行探索查詢,custom_calendar_period: custom_year PoP 指標會顯示去年同月的數值,方便您比較 2026 年自訂月份的訂單數與 2025 年同個自訂月份的銷售量。

custom_calendar_period 子參數支援下列值:

  • custom_date
  • custom_period
  • custom_quarter
  • custom_season
  • custom_week
  • custom_year

如要進一步瞭解如何建立使用自訂日曆的 PoP 衡量指標,請參閱「使用 PoP 衡量指標和自訂日曆」一節。

value_to_date

使用 value_to_date 子參數,指出 Looker 是否應在查詢執行時,使用目前時間範圍內經過的時間量,計算 PoP 指標的值。value_to_date 子參數可以是 no (預設) 或 yes

  • 匯總資料時,no 值會假設整個時間範圍。
  • 如果值為 yes,系統會計算目前期間的觀看時間,並套用至 PoP 指標。

舉例來說,如果以 value_to_date: yes 定義月度 PoP 指標,且您在 6 月 6 日下午 1:10 執行「探索」查詢,並使用 PoP 指標和日期時間範圍維度,Looker 會將 6 月 6 日經過的時間 (13 小時 10 分 0 秒) 套用至查詢中每個日期的計算。針對每個日期,Looker 會提供前 13 小時 10 分鐘的值。

如果您在 6 月 6 日下午 1:10:00 執行相同的「探索」查詢,且定義的 PoP 測量值與 value_to_date: no 相同,Looker 會使用每個日期可用的所有資料計算 PoP 值。如果您想比較 6 月 6 日與上個月 6 日的值,請注意,由於 6 月 6 日尚未結束,13:10:00 後可能會有其他資料。

如需 value_to_date: yes 如何影響探索查詢結果的範例,請參閱「value_to_date 如何影響 PoP 評估值」。

如「使用 PoP 衡量指標的探索查詢規定」一節所述,當您執行含有 PoP 衡量指標的探索查詢時,Looker 會自動將查詢的最小時間範圍精細度,套用至 PoP 衡量指標所用的時間範圍。如果是使用 value_to_date: yes 定義 PoP 測量指標的探索查詢,Looker 會採用查詢中最小的時間範圍維度,計算查詢執行時已過的時間範圍部分,然後將該部分套用至 PoP 測量指標的所有值。

探索含有 PoP 措施的查詢

系統會根據 PoP 衡量指標的 LookML 定義,以及 Explore 查詢中指定的時間範圍,計算 PoP 衡量指標。PoP 衡量指標會根據 Explore 查詢中選取的時間範圍調整計算方式。舉例來說,如果 PoP 指標是以 period: year 定義,且探索查詢包含 orders.created_month 時間範圍維度,PoP 指標會計算每月值,並比較 2025 年 1 月和 2024 年 1 月。如要查看年度值,您必須執行「探索」查詢,並使用 PoP 指標和僅限 orders.created_year 的時間範圍。

以下舉例說明 PoP 指標 period 與在探索查詢中選取的時間範圍互動的方式:

  • 如果使用 period: year 定義 PoP 指標,並執行探索查詢 (時間範圍為一季),PoP 指標會傳回前一年同季的值 (例如 2025 年第 1 季與 2024 年第 1 季的比較)。
  • 如果使用 period: year 定義 PoP 衡量指標,並執行時間範圍為一個月的「探索」查詢,PoP 衡量指標會傳回前一年同月份的值 (例如 2025 年 4 月與 2024 年 4 月的比較)。
  • 如果 PoP 衡量指標是以 period: month 定義,且您執行時間範圍為一個月的探索查詢,PoP 衡量指標會傳回上個月的值 (2025 年 4 月與 2025 年 3 月的比較)。

使用期增率指標探索查詢的需求條件

由於 PoP 度量會根據 PoP 度量的 LookML 定義和您在探索查詢中選取的欄位進行計算,因此在包含 PoP 度量的探索查詢中,您至少必須納入下列欄位:

  • PoP 評估指標。
  • 適合與 PoP 指標相關聯的 period 時間維度。您可以透過探索的欄位挑選器或探索的篩選器,在查詢中加入時間維度:
    • PoP 衡量指標查詢支援的細分時間範圍為日期或更長,例如月、季或年。PoP 衡量查詢不支援以小時或分鐘為時間範圍的維度。
    • 如果 PoP 衡量指標是使用維度群組的時間範圍 based_on_time 定義,則探索查詢必須包含來自相同維度群組的時間範圍,且該時間範圍必須等於或小於 PoP 衡量指標 period 參數中指定的時間範圍。您可以在「探索」中加入維度群組 (從「探索」的欄位挑選器中選取維度群組),或依維度群組篩選。舉例來說,如果 PoP 指標的 based_on_time 值是透過 orders.created 維度群組的時間範圍定義,且 PoP 指標是透過 period: month 定義,則 Explore 查詢必須包含 orders.created 維度群組的時間範圍,且該範圍等於或小於一個月,例如 orders.created_date。探索查詢的時間範圍必須相符或較小,舉例來說,您無法比較一年時間範圍內的月與月。
    • 如果 PoP 衡量指標是使用based_on_time定義的時間維度,則「探索」查詢必須包含完全相同的時間維度,方法是從「探索」的欄位選擇器中加入該維度,或對該維度指定篩選器。時間維度的時間範圍必須等於或小於 PoP 指標 period 參數中指定的時間範圍。舉例來說,如果 PoP 指標是以 based_on_time: created_date 定義,且 PoP 指標是以 period: month 定義,則探索查詢必須包含 created_date 維度。

如果 PoP 指標是使用維度群組的時間範圍 based_on_time 定義,請注意下列有關探索查詢中時間範圍的要求:

  • 探索查詢中的時間範圍必須等於或小於 PoP 指標 period 參數中指定的時間範圍。舉例來說,如果 PoP 衡量指標的 based_on_time 是以 orders.created 維度群組的時間範圍定義,而 PoP 衡量指標是以 period: month 定義,則 Explore 查詢必須包含 orders.created 維度群組的時間範圍,且該時間範圍必須小於或等於一個月,例如 orders.created_date。探索查詢的時間範圍必須較小,例如,您無法比較一年時間範圍內每個月的資料。
  • Explore 查詢的時間範圍本身必須包含時間戳記資訊。舉例來說,維度群組的 yearmonthdate 時間範圍會提供實際的時間戳記資訊。相較之下,day_of_week 時間範圍會從基礎時間戳記中擷取,提供 Wednesday 等值。同樣地,month_namemonth_numday_of_month 等時間範圍本身不會提供時間戳記資訊,因此 PoP 指標無法使用這些時間範圍計算前一期的值。不過,如果您在探索查詢中加入時間戳記 (例如 date),系統就會提供時間戳記資訊給 PoP 測量指標,以便計算前一週期的值。您也可以在「探索」查詢中加入 day_of_week 時間範圍,因為 PoP 指標可使用 date 時間範圍資訊進行計算。

只要探索查詢符合這些條件,您就可以在探索查詢中新增其他欄位和時間範圍維度,但探索查詢中的所有時間範圍都必須小於或等於 PoP 指標的 period 時間範圍。使用 PoP 測量值執行「探索」查詢時,Looker 會自動將查詢中的最短時間範圍細微程度,套用至 PoP 測量值所用的時間範圍。在本頁開頭顯示的「探索範例中,所有 PoP 測量指標都已在 LookML 中以 period: year 定義。也就是說,無論在探索查詢中選取哪個時間範圍 (本例為每月),PoP 指標都會傳回前一年相同時間範圍的結果。

如要在探索中查看 PoP 指標支援的時間範圍,可以測試不同的時間範圍,不必執行查詢。按一下「探索」「資料」部分的「SQL」分頁標籤,然後從「探索」的欄位挑選器新增欄位和篩選器。如果 PoP 指標無法使用所選欄位和篩選器計算查詢,SQL 分頁會顯示無法產生 SQL 的訊息。

如果執行無法產生 SQL 的查詢,探索視窗會傳回錯誤,並提供詳細資料和相關 LookML 的連結。

使用自訂日曆的 PoP 措施

如要建立使用自訂日曆的 PoP 評估指標,請按照下列步驟操作:

  • 檢視表檔案中建立自訂日曆模型時,您可以在 calendar_definition 參數區塊中加入 previous_ordinal_mapping 參數區塊 (選用)。從 Looker 26.8 開始,previous_ordinal_mapping 參數為選用參數。在 Looker 26.8 以上版本中,Looker 會假設自訂日曆的第 1 週前一週為第 52 週,第 1 天前一天為第 364 天。如果自訂日曆並非如此,您需要使用 previous_ordinal_mapping 參數區塊。
  • 在 PoP 測量的 LookML 定義中,於 based_on_time 參數中,指定維度群組的type: custom_calendar年度時間範圍
  • 在 PoP 比較的 LookML 定義中,請使用 custom_calendar_period 參數,而非 period 參數。

舉例來說,以下是自訂日曆維度群組的 LookML,以及使用自訂日曆的 PoP 測量指標:

dimension_group: cust_created {
    type: custom_calendar
    sql: {TABLE}.created_at;;
    based_on_calendar: cust_retail_calendar
    custom_timeframes: [custom_year, custom_quarter]

  }

measure: count_last_custom_year {
    type: period_over_period
    based_on: count
    based_on_time: cust_created_custom_year
    custom_calendar_period: custom_year
    kind: previous
  }

範例

以下各節提供不同 PoP 指標和探索查詢的範例:

將計數與年對年和月對月 PoP 指標進行比較

以下是範例total_births測量指標、type:timebirth維度群組,以及兩個以total_births測量指標為基礎,並使用birth維度群組做為 based_on_time 欄位的 PoP 測量指標的 LookML:


  dimension_group: birth {
    type: time
    timeframes: [raw, time, date, week, month, quarter, year]
    sql: ${TABLE}.birth_date ;;
  }

  measure: total_births {
    type: sum
    sql: ${TABLE}.total_births ;;
  }

  measure: total_births_last_year {
    type: period_over_period
    kind: previous
    based_on: total_births
    based_on_time: birth_year
    period: year
    value_to_date: no
    value_format_name: decimal_0
  }

  measure: total_births_last_month {
    type: period_over_period
    kind: previous
    based_on: total_births
    based_on_time: birth_year
    period: month
    value_to_date: no
    value_format_name: decimal_0
  }

請注意下列有關這些欄位的資訊:

  • 這兩個 PoP 衡量指標都是以 kind: previous 定義,因此兩者都會提供前一週期的衡量指標值。
  • 這兩項 PoP 測量指標都是以 value_to_date: no 定義,因此都會計算整個時間範圍的指標值 (也就是查詢的最小時間範圍精細度)。
  • 這兩個 PoP 衡量指標都是以 based_on_time: birth_year 定義,因此都使用 birth 維度群組的基礎時間戳記。
  • total_births_last_year PoP 測量值是以 period: year 定義,total_births_last_month PoP 測量值則是以 period: month 定義。

以下是包含所有三項指標和 birth_month 維度時間範圍的探索查詢:

Looker 探索頁面,顯示出生月份、出生總人數、上個月出生總人數和去年出生總人數的資料欄。2024 年 7 月的「上個月的總出生數」值為 290,699,與 2024 年 6 月的「總出生數」值相符。2024 年 7 月的「去年總出生數」值為 310,347,與 2023 年 7 月的「總出生數」值相符。

請注意下列有關探索結果的事項:

  • 在「探索」查詢中,最小的維度時間範圍是 birth_month,因此 PoP 指標會提供每月值。
  • 在最近一個月 (2024 年 7 月) 的資料列中,「上個月的總出生數」值會顯示上個月 (2024 年 6 月) 的總出生數。您可以查看「2024 年 6 月」資料列的「總出生數」值,確認這項資訊。這兩個值相符。
  • 在最近一個月 (2024 年 7 月) 的資料列中,「去年出生總人數」值會顯示去年 (2023 年) 同月 (7 月) 的出生總人數。您可以查看「2023 年 7 月」列的「總生育數」值,確認這項資訊。這兩個值相符。

value_to_date 對逐期變化指標值的影響

與先前的範例類似,以下是 total_births 測量指標和 type:timebirth 維度群組的 LookML,以及兩個以 total_births 測量指標為基礎,並使用 birth 維度群組做為 based_on_time 欄位的 PoP 測量指標。不過,在本例中,total_births_last_year_value_to_date PoP 指標是以 value_to_date: yes 定義,total_births_last_year PoP 指標則是以 value_to_date: no 定義:

  dimension_group: birth {
    type: time
    timeframes: [raw, time, date, week, month, quarter, year]
    sql: ${TABLE}.birth_date ;;
  }

  measure: total_births {
    type: sum
    sql: ${TABLE}.total_births ;;
  }

  measure: total_births_last_year {
    type: period_over_period
    kind: previous
    based_on: total_births
    based_on_time: birth_year
    period: year
    value_to_date: no
    value_format_name: decimal_0
  }

  measure: total_births_last_year_value_to_date {
    type: period_over_period
    kind: previous
    based_on: total_births
    based_on_time: birth_year
    value_to_date: yes
    period: year
    value_format_name: decimal_0
  }

以下是包含所有三項指標和 birth_year 維度時間範圍的探索查詢。這項探索查詢是在 6 月 4 日下午 4:25:08 執行,這對 value_to_date: yes PoP 評估指標來說非常重要。

Looker 探索頁面,顯示「出生年份」、「出生總人數」、「去年出生總人數」和「去年出生總人數 (年初至今)」的資料欄。2024 年的「去年總出生人數」值為 3,581,036,與 2023 年的「總出生人數」值相符。2024 年的「去年同期出生數」值為 1,743,505。

「探索」結果顯示 value_to_date 子參數如何改變 PoP 指標的計算方式:

請注意下列有關探索結果的事項:

  • 在最新年份 (2024 年) 的資料列中,「去年出生總人數」值會顯示前一年 (2023 年) 的出生總人數。查看「2023」列的「Total Births」值,即可驗證計算結果。這兩個值相符。
  • 在最新年份 (2024 年) 的資料列中,「去年迄今的總出生數」值小於「去年總出生數」值。這是因為您在 6 月 4 日下午 4 點 25 分 08 秒執行了探索查詢,且 total_births_last_year_value_to_date PoP 指標是以 value_to_date: yes 定義,因此 Looker 在計算每年值時,只會使用各年 6 月 4 日下午 4 點 25 分 08 秒前的資料。

篩選包含 PoP 指標的探索查詢

如要篩選包含 PoP 指標的探索查詢,請注意下列事項:

  • 如果探索查詢包含年增率指標,系統會支援篩選功能。不過,您無法根據 PoP 指標本身進行篩選。舉例來說,在第一個範例中,您無法根據 total_birthstotal_births_last_yeartotal_births_last_month PoP 測量指標篩選查詢,因為該查詢是針對 birth_month 維度和 total_birthstotal_births_last_yeartotal_births_last_month PoP 測量指標。
  • 如果篩選的欄位與 PoP 指標的 based_on_time 參數相關聯,且篩選條件的時間範圍比查詢的時間範圍更精細,PoP 指標只會顯示查詢時間範圍中符合篩選條件值的部分。舉例來說,如果您查詢 orders.created_year 維度,並將查詢篩選條件設為 1 月,則 PoP 指標會針對每年只顯示 1 月的值。這可能會誤導使用者,以為是全年的業績。
  • 如果是 PoP 評估指標的探索查詢,Looker 會以查詢最精細的時間範圍,擷取額外時間範圍的資料,以計算 PoP 評估指標的資料。舉例來說,如果您使用每月維度、以 period: year 定義的 PoP 評估指標,以及過去 6 個月的篩選條件建立探索查詢,Looker 會找出查詢中最低的精細程度,在本例中為 PoP 評估指標的 year 時間範圍。在這個範例中,Looker 會擷取過去 6 個月的資料,以及額外一年的資料,以便比較過去 6 個月與前一年同月的資料。
  • 如「包含 PoP 指標的探索查詢規定」一文所述,包含 PoP 指標的探索查詢必須有適當的時間維度,才能與 PoP 指標相關聯的 period 搭配使用。如果未從探索的欄位挑選器選取時間維度,Looker 可以從探索的篩選器中的時間維度衍生必要資訊。在這種情況下,Looker 會依篩選器的時間維度排序探索查詢結果。

以期增率指標製作圖表

建議使用表格圖表呈現 PoP 指標。視探索查詢中的欄位而定,其他視覺化選項也可能適用。

如果使用表格圖表以外的視覺化效果,請確認視覺化效果清楚明瞭。由於 PoP 指標會與前一個時間範圍比較,因此使用 PoP 指標的視覺化內容可能會誤導使用者。舉例來說,如果將年增率 PoP 指標定義為 kind: previous,系統就會顯示今年日期對應的去年值。如果 Google 探索查詢包含當年度的值,以及年增率 PoP 指標,則當年度在視覺化圖表中會有兩個值。

如果您使用的不是表格圖表,請確認圖表清楚指出任何年增率指標都是與前一時間範圍的比較結果。

PoP 措施的限制

請注意,PoP 指標有下列限制:

  • 只有使用新版 LookML 執行階段的 LookML 專案,才支援 PoP 測量指標。如果執行個體已啟用「使用舊版 LookML 執行階段」舊版功能,專案的資訊清單檔案就必須包含 new_lookml_runtime:yes 陳述式。
  • 數據分析中的 Looker 連接器不支援 PoP 指標。
  • PoP 評估指標必須以匯總評估指標為準,詳情請參閱based_on一節。PoP 指標無法以非匯總指標為依據。
  • 如果執行個體已啟用 BI Engine 對稱匯總實驗室功能,則 BigQuery 連線支援 PoP 指標,但含有 PoP 指標的 SQL 查詢不會使用 BI Engine 對稱匯總功能。
  • PoP 指標不支援同類群組分析。
  • PoP 指標不支援滾動計算。
  • PoP 指標一律會比較目前與前一個週期。您無法設定 PoP 指標,將目前週期與前一週期以外的週期進行比較。舉例來說,您無法建立 PoP 指標,比較去年 5 月和今年 12 月的資料。
  • 系統不支援任意間隔的 PoP 衡量指標,例如目前兩週與前兩週的比較。
  • PoP 評估指標的參數不支援 Liquid 參數。不過,如果 PoP 的 based_onbased_on_time 欄位指向以 Liquid 定義的維度,系統就會處理該 Liquid。
  • 使用自訂日曆的 PoP 測量指標

    • (Looker 26.8 之前的版本) based_on_time 參數必須參照type: custom_calendar維度群組的 custom_year 時間範圍。
    • (Looker 26.8 之前的版本) 如果使用者查詢包含 custom_weekcustom_date,Looker 會提供前一週或前一年的值,適用於以 custom_calendar_period: custom_year 定義的 PoP 衡量指標。
  • 下列 Looker 功能不支援 PoP 評估:

  • PoP 指標無法用於建立自訂欄位

  • 如要進行以週為單位的比較,建議您建立使用自訂日曆的 PoP 評估指標

  • 如果 PoP 測量值的期間是根據會計時間範圍定義,就無法在非會計時間範圍的探索查詢中使用。此外,如果 PoP 衡量指標的期間是以非會計時間範圍定義,就無法在查詢中使用會計時間範圍維度。

  • PoP 測量指標支援會計月偏移,也就是說,PoP 測量指標的 based_on_time 參數會從與「探索」相關聯的 LookML 模型檔案中,繼承 fiscal_month_offset 值。如果您使用 fiscal_yearfiscal_quarter 定義 PoP 衡量指標,只有在探索查詢指定 fiscal_yearfiscal_quarter 時間範圍時,探索查詢才會支援 PoP 衡量指標。在這種情況下,系統會採用 fiscal_offset_month

  • PoP 指標的 period 必須大於或等於在「探索」查詢中選取的時間範圍。舉例來說,如果 PoP 指標定義為 period: month,則探索查詢的時間範圍維度必須為一個月或更短,例如一週或一天。

  • 使用 PoP 衡量指標時,請務必在「探索」中一併納入相符的時間範圍維度和 date_time 維度。舉例來說,如果您定義 PoP 測量指標來計算上季對應月份的值,就必須在「探索」中納入相符的季度維度 (例如 [dimension_name]_quarter) 和月份維度。如果沒有相符的時間範圍維度,系統產生的 SQL 會先對日期套用截斷函式 (例如 TIMESTAMP_TRUNC(..., QUARTER)),再計算前一期,導致查詢會根據季初進行評估。

    舉例來說,在 2 月的比較中,產生的 SQL 會擷取上季的第一個月 (10 月) 的值,而不是對應的月份 (11 月)。在「探索」中加入相符的時間範圍維度,可確保系統正確產生 SQL 並進行分組。

PoP 措施支援的資料庫方言

下表列出 Looker 最新版本中支援 PoP 措施的方言:

方言 是否支援?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13.x - 0.17.x
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud AlloyDB for PostgreSQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica