查詢範例 query-examples
本節列出幾個在Data Lake中查詢歷程步驟事件的常用範例。
請確定查詢中使用的欄位在對應結構描述中有關聯的值。
- id:所有步驟事件專案均不重複。 兩個不同的步驟事件不能有相同的ID。
- instanceId:instanceID對於歷程執行中與設定檔相關聯的所有步驟事件都是相同的。 如果設定檔重新進入歷程,則會使用不同的instanceId。 此新instanceId將與重新進入之執行個體的所有步驟事件(從開始到結束)相同。
- profileID:與歷程名稱空間對應的設定檔身分。
note note |
---|
NOTE |
基於疑難排解目的,我們建議在查詢歷程時使用journeyVersionID,而不是journeyVersionName。 在本節中進一步瞭解歷程屬性。 |
基本使用案例/常見查詢 common-queries
accordion | ||
---|---|---|
在特定時間範圍內進入歷程的設定檔數 | ||
此查詢會提供在指定時間範圍內進入指定歷程的不同設定檔數量。 資料湖查詢
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
資料湖查詢
此查詢會依時間順序,傳回指定時間內特定設定檔和歷程的所有步驟事件和服務事件。
code language-sql |
---|
|
例如,您可以使用這些查詢來預估等待活動所花費的時間。 這可讓您確保等待活動已正確設定。
資料湖查詢
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
Journey Step事件資料集包含所有stepEvents和serviceEvents。 stepEvents用於報告中,因為它們與歷程中設定檔的活動(事件、動作等)相關。 serviceEvents會儲存在相同的資料集中,且會指出其他除錯資訊,例如捨棄體驗事件的原因。
以下是查詢serviceEvent詳細資訊的範例:
資料湖查詢
code language-sql |
---|
|
訊息/動作錯誤 message-action-errors
accordion | ||||
---|---|---|---|---|
歷程中遇到的每個錯誤的清單 | ||||
此查詢可讓您列出執行訊息/動作時,在歷程中遇到的每個錯誤。 資料湖查詢
範例
此查詢會傳回在歷程中執行動作時發生的所有不同錯誤,以及發生次數的計數。 |
設定檔查詢 profile-based-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
結果應大於0。 此查詢會傳回設定檔已進入歷程的確切次數。
方法1:如果訊息名稱在歷程中不是唯一的(它用於多個位置)。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
結果應大於0。 此查詢只會告訴我們訊息動作是否已成功在歷程端執行。
方法2:如果您的訊息名稱在歷程中是唯一的。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回所有訊息的清單,連同針對所選設定檔叫用的訊息計數。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回所有訊息的清單,連同針對所選設定檔叫用的訊息計數。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回所有歷程名稱的清單,以及查詢的設定檔進入歷程的次數。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會在定義的期間內傳回每天進入歷程的設定檔數。 如果透過多個身分輸入設定檔,則會計算兩次。 如果啟用重新進入,如果設定檔計數在不同日期重新進入歷程,則可能會跨不同日期複製。
與讀取對象相關的查詢 read-segment-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回對象匯出工作排入佇列與最終結束之間的時間差(以分鐘為單位)。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為這些設定檔ID重複。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為這些設定檔ID具有無效的名稱空間,或沒有該名稱空間的身分。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為缺少身分對應。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回歷程捨棄的所有設定檔ID,因為匯出作業是在測試模式下執行,但設定檔的testProfile屬性未設定為true。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會傳回歷程因某些內部錯誤而捨棄的所有設定檔ID。
資料湖查詢
code language-sql |
---|
|
它會傳回與給定歷程版本相關的所有服務事件。 我們可以遵循操作鏈結:
- 主題建立
- 匯出工作建立
- 匯出工作終止(使用匯出設定檔上的量度)
- 工作者處理終止
我們也可以偵測下列問題:
- 建立主題或匯出工作時發生錯誤(包括對象匯出API呼叫逾時)
- 匯出作業可能卡住(針對指定的歷程版本,我們沒有任何有關匯出作業終止的事件)
- 若我們已收到匯出工作終止事件,但沒有工作人員處理終止事件,則為工作人員問題
重要:如果此查詢未傳回任何事件,可能是由於下列其中一個原因:
- 歷程版本尚未達到排程
- 如果歷程版本應該透過呼叫orchestrator來觸發匯出作業,則上行流程會出現問題:歷程部署問題、業務事件或排程器問題。
資料湖查詢
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
如果未傳回任何記錄,則表示:
- 建立主題或匯出工作時發生錯誤
- 匯出工作仍在執行中
資料湖查詢
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
此查詢與上一個查詢不同。
它會傳回指定歷程版本的整體量度,無論為其執行的工作為何(如果是週期性歷程,則業務事件會觸發那些利用主題重複使用的事件)。
與對象資格相關的查詢 segment-qualification-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
此查詢會傳回歷程版本因對象實現錯誤而捨棄的所有設定檔ID。
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
此查詢會傳回由於設定檔的任何其他原因而捨棄的所有事件(外部事件/對象資格事件)。
事件型查詢 event-based-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
常見的歷程型查詢 journey-based-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
查詢會在定義的期間內傳回每天觸發的不重複歷程計數。 在多天觸發的單一歷程每天將計為一次。
歷程執行個體上的查詢 journey-instances-queries
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|
資料湖查詢
code language-sql |
---|
|
範例
code language-sql |
---|
|