跳轉至

時間軸函式介紹

函式概覽

在度量分析中,時間軸函式是用於構建時間維度、以便按時間序列統計資料的關鍵工具。當前提供兩個核心時間軸函式:TIMELINETIMESERIES

  • TIMELINE 函式 : 是一種基於資料快照進行統計的時間軸函式 。它在統計時,時間軸本身具有業務語義。可以被理解為一個租戶管理員,在每天結束時會把截止到那一刻的全部資料拍照存檔,並貼上當天的日期標籤。每個日期刻度的指標都是根據當天快照裡的資料算出來的。
  • TIMESERIES 函式 : 是一種基於實時資料統計的時間軸函式。它構建的是一條沒有任何業務語義的時間軸,專注於解決 TIMELINE 的侷限性。

函式核心區別

特性 TIMELINE 函式 TIMESERIES 函式
資料來源 基於資料快照統計 基於實時資料統計
時間軸特性 時間軸本身具有業務語義 (日期快照) 構建一條沒有任何業務語義的時間軸
對補填資料的支援 不支援,只會記錄在補填當天(及往後)的存檔中 支援,基於實時資料可靈活配置指標,追溯到歷史時間軸
對未來資料的支援 不支援,無法展示未來資料 支援,可用於展示預估/計劃資料
典型用法 統計每天有更新的工作項數量
維度:
TIMELINE(DATE("2025-11-01"),DATE("2025-12-31"),"day")
指標:
COUNTIF(${工作項id},TOSTARTOFDAY(${更新時間})==TOSTARTOFDAY(TIMELINECURSOR()))
a9f399853-4215-4721-bf47-97e8f44d779c
統計最新一次更新的工作項數量
維度:
TIMESERIES(DATE("2025-11-01"),DATE("2025-12-31"),"day")
指標:
COUNTIF(${工作項id},TOSTARTOFDAY(${ 更新時間})==TOSTARTOFDAY(TIMELINECURSOR()))
aef1f4973-d731-449f-9097-53afb1a51174

TIMESERIES 使用場景

專案立項進展統計(按日、周、月聚合)

場景 操作方式
專案立項進展
(按日)
維度:
TIMESERIES(DATE("2025-10-01"),DATE("2025-12-31"),"day")
指標:
COUNTIF(${工作項id},TOSTARTOFDAY(${立項時間})==TOSTARTOFDAY(TIMELINECURSOR()))
解析:
透過 TOSTARTOFDAY 函式,將工作項的立項時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按天統計
專案立項進展
(按周)
維度:
TIMESERIES(DATE("2025-10-01"),DATE("2025-12-31"),"week")
指標:
COUNTIF(${工作項id},GETWEEKOFYEAR(${立項時間})==GETWEEKOFYEAR(TIMELINECURSOR())&&GETYEAR(${立項時間})==GETYEAR(TIMELINECURSOR()))
解析:
透過 GETWEEKOFYEAR 和 GETYEAR 函式,將工作項的立項時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按周統計
專案立項進展
(按雙週)
維度:
TIMESERIES(DATE("2025-10-01"),DATE("2025-12-31"),"bi-week")
指標:
COUNTIF(${工作項id},TOSTARTOFDAY(${立項時間})>TOSTARTOFDAY(DATEADD(TIMELINECURSOR(),-14)) && TOSTARTOFDAY(${立項時間})<=TOSTARTOFDAY(TIMELINECURSOR()) )
解析:
透過DATEADD(TIMELINECURSOR(),-14) ,計算統計週期的前 14 天,立項時間大於前 14 天,小於等於統計週期當天,將工作項的立項時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按雙週統計
專案立項進展
(按月)
維度:
TIMESERIES(DATE("2025-10-01"),DATE("2025-12-31"),"month")
指標:
COUNTIF(${工作項id},TOSTARTOFMONTH(${立項時間})==TOSTARTOFMONTH(TIMELINECURSOR()))
解析:
透過 TOSTARTOFMONTH 函式,將工作項的立項時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按月統計
專案立項進展
(按雙月)
維度:
TIMESERIES(DATE("2025-10-01"),DATE("2025-12-31"),"bi-month")
指標:
COUNTIF(${工作項id},(TOMONTH(${立項時間})==TOMONTH(TIMELINECURSOR()) or TOMONTH(${立項時間})==TOMONTH(TIMELINECURSOR())-1)&&TOYEAR(${立項時間})==TOYEAR(TIMELINECURSOR()))
解析:
透過 TOMONTH 獲取日期所在月份,允許其落在本月和前一個月的時間範圍,滿足月的序數,將工作項的立項時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按雙月統計

需求吞吐

場景 操作方式
需求的日增量、日減量、剩餘未完成量 維度:
TIMESERIES(DATE("2025-01-01"),DATE("2025-12-31"),"month")
指標:
[計算日增量]COUNTIF(${工作項id},TOSTARTOFMONTH(${提出時間})==TOSTARTOFMONTH(TIMELINECURSOR()))
[計算日減量]COUNTIF(${工作項id},TOSTARTOFMONTH(${完成日期})==TOSTARTOFMONTH(TIMELINECURSOR()))
[計算未完成量]COUNTIF(${工作項id},TOSTARTOFMONTH(${提出時間})<=TIMELINECURSOR())-COUNTIF(${工作項id},TOSTARTOFDAY(${完成日期})<=TIMELINECURSOR())
解析:
日增量、日減量,透過 TOSTARTOMONTH 函式,將提出時間/完成時間與時間軸刻度 TIMELINECURSOR() 對齊,實現按月統計。未完成量,透過統計提出時間小於等於當前刻度日期的總數,減去完成時間小於等於當前刻度日期的數量,實現按月統計。

統計指定週期內人力投入

場景 操作方式
檢視某個專案在每個月的估分投入 維度:
TIMESERIES(DATE("2025-01-01"),TODAY(),"month")
指標:
流程節點/節點人員/估分插值(求和)
解析:
估分插值搭配 TIMESERIES 使用,可以根據節點人員排期,計算節點人員在指定時間內的節點人員估分投入值。

TIMELINE 使用場景

統計需求周開發情況資料快照

場景 操作方式
計算每週完成開發節點的需求數量 維度:
TIMELINE(DATE("2025-01-01"),TODAY(),"week")
指標:
COUNTIF(${工作項id}, TOSTARTOFDAY(MAXIF(${流程節點}.${節點末次結束時間},${流程節點}.${節點名稱}=="開發"))<=TOSTARTOFDAY(TIMELINECURSOR())&&TOSTARTOFDAY(MAXIF(${流程節點}.${節點末次結束時間},${流程節點}.${節點名稱}=="開發"))>DATEADD(TIMELINECURSOR(),-7))
解析:
MAXIF函式統計開發節點結束時間,與 TIMELINECURSOR() 函式對齊,大於前 7 天,小於等於當前統計週期,實現按周統計時間快照。

常見問題

TIMELINE或TIMESERIES 函式支援 自定義周或雙週的週期範圍嗎?

暫不支援自定義周、雙週等聚合時間粒度的起止時間計算規則。

如何處理多時區問題?

當前 TIMELINE / TIMESERIES 函式 + 估分插值欄位的組合表達,都是根據 UTC 時區 (GMT+0) 切分的 。在按天統計的場景,需要特殊處理切片時間點,即使用 TOSTARTOFDAY(TIMELINECURSOR())目的: 這將具體的時間統一處理為 00:00:00,僅按照日期精度進行判斷,確保條件篩選的有效性 。