Profile Query Language (PQL)概述

Profile Query Language (PQL)是一種 Experience Data Model (XDM)相容的查詢語言,旨在支援資料分段查詢的定義和 Real-time Customer Profile 執行。

本指南提供PQL的一般概述,涵蓋格式准則並提供PQL表達式示例。

PQL查詢格式

PQL查詢具有以下特徵碼:

({INPUT_PARAMETER_1}, {INPUT_PARAMETER_2}, ...) => {RESULT_TYPE}

輸入參數可以是簡單的基元,例如布林值或字串,或是更複雜的類型,例如物件、陣列或地圖。

PQL表達式內文中有三種不同的輸入參數引用方法:

第一個參數的隱式引用

在以下範例中,由於第一個參數永遠在上下文中,所以可以直接對其建立屬性參考(homeAddress)。

homeAddress.stateProvince = workAddress.stateProvince

對第一個參數的顯式引用

在以下範例中,$1是指第一個參數。 因此,$2會參照第二個參數等。

$1.homeAddress.stateProvince = $1.homeAddress.stateProvince

使用lambda符號使用命名變數

在以下範例中,Profile是變數名稱,可由查詢作者選擇。

(Profile) => Profile.homeAddress.stateProvince = Profile.workAddress.stateProvince

PQL文字

PQL支援以下常值類型:

常值 定義 範例
字串 由雙引號圍繞的字元組成的資料類型。 "pizza", "jobs", "antidisestablishmentarianism"
布林值 True或false的資料類型。 true, false
整數 表示整數的資料類型。 可以是正面、負面或零。 -201, 0 412
雙倍 表示任何實數的資料類型。 可以是正面、負面或零。 -51.24, 3.14 0.6942058
日期 一種資料類型,可用來根據年、月和日建立日期作為整數參數。 格式為date(year, month, day) date(2020, 3, 14)
陣列 作為一組其他常值組成的資料類型。 它使用方括弧來分組,使用逗號來分隔不同的值。
注意: 您無法直接存取陣列中項目的屬性。因此,如果您需要訪問陣列中的屬性,則支援的方法為select X from array where X.item = ...
PQL保留該字詞 xEvent 以引用連結至描述檔的體驗事件陣列。
[1, 4, 7]["US", "CA"]
相對時間參考 可用於形成時間戳記和時間間隔引用的保留字。
  • 現在,今天,昨天,明天
  • 這個,最後一個,下一個
  • 之前,之後,從
  • 毫秒,秒,分鐘,小時,日,周,月,年,十年,世紀/世紀,千年/千年
X.timestamp occurs before today, X.timestamp occurs last month X.timestamp occurs <= 3 days before now

PQL函式

下表概述了支援的PQL功能的不同類別,包括指向進一步文檔的連結以瞭解詳細資訊。

類別 定義
布林值 用於在PQL中實現布爾代數。 有關這些函式的詳細資訊,請參閱布爾函式文檔
比較 用於比較不同的PQL元素。 有關這些函式的詳細資訊,請參閱比較函式文檔
陣列、清單和設定 用於與陣列、清單和集交互。 有關這些函式的詳細資訊,請參閱array、list和set functions文檔
地圖 用來與地圖互動。 有關這些函式的詳細資訊,請參閱map函式文檔
字串 用來與字串互動。 有關這些函式的詳細資訊,請參閱string functions document
物件 用於與物件互動。 有關這些函式的詳細資訊,請參見object functions document
算術 用於對PQL元素執行基本算術。 有關這些函式的詳細資訊,請參閱算術函式文檔
彙總 用於將陣列的結果組合為單一結果。 有關聚合函式的詳細資訊,請參見聚合函式文檔
日期和時間 與日期、時間和日期時間對象一起使用。 有關這些函式的詳細資訊,請參閱date/time函式文檔
篩選 用於篩選陣列內的資料。 有關這些函式的詳細資訊,請參閱filter functions文檔
邏輯量詞 用於斷言陣列中的條件。 有關詳細資訊,請參閱邏輯量詞文檔
其他 雜項函式文檔中可找到不符合上述任何類別的函式。

後續步驟

現在您已學會如何使用Profile Query Language,您可以在建立和修改區段時使用PQL。 如需細分的詳細資訊,請閱讀分段概觀

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now