進階運算式編輯

關於進階運算式編輯

編輯運算式需要手動輸入條件以形成規則。

此模式可讓您使用進階功能。這些函式可讓您控制用於執行特定查詢的值,例如控制日期、字串、數值欄位、排序等。

編輯運算式時也可以使用工作流程的事件變數。 如需詳細資訊,請參閱使用事件變數自訂活動區段。

您可以編輯運算式,以:

  • 透過新增規則時可用的 Advanced mode 選項定義查詢。

  • 編輯工作流程中的運算式。例如,若要新增其他資料至活動。

  • 編輯可見性條件,以定義 HTML 內容編輯器中區塊的顯示方式。在這種情況下,運算式會以 JavaScript 格式編輯,不提供使用進階函式做為標準的功能。

編輯運算式

進階運算式版本可讓您手動定義符合需求的運算式。

編輯運算式可在建立電子郵件時用於「對象」視窗,或在建立工作流程時用於「查詢」活動。

  1. 透過關於進階運算式編輯區段中所詳述的其中一個方法, 存取運算式編輯視窗。它包含下列元素:

    • 定義運算式的輸入欄位。
    • 可用欄位清單,可用於運算式中,並對應至查詢的定位維度(請參閱定位維度和資源)。
    • 可用函式的清單,按類別排序。

  2. 直接在對應欄位中輸入運算式,或使用可用欄位和函式清單來編輯運算式。

    按兩下某個欄位或運算式將其新增到游標所在的運算式中。

    您可使用工作流程的事件變數來建立運算式。如需詳細資訊,請參閱使用事件變數自訂活動區段。

  3. 視需要為規則指定特定名稱。輸入的名稱將作為規則名稱顯示在查詢編輯器工作區中。

編輯運算式可讓您個人化「對象」運算式,以視需要鎖定母體。

相關主題:

運算式語法

標準語法

標準運算式由一或多個符合下列語法元素的條件組成:

  • 每個條件都採用 <value1> <comparison operator> <value2> 行式,其中:

    • <value1> 是一個欄位或函式。例如,@created 適用於建立設定檔的日期,或是 Year(@created) 適用於建立設定檔的年份。
    • <comparison operator>「比較」運算子區段中所列的運算子。此運算子定義 <value1><value2> 之間的比較方法。
    • <value2> 是手動輸入的欄位、函式或值。
    注意

    <value1><value2> 類型資料必須相同。例如,如果 <value1> 是日期,則 <value2> 也必須是日期。

  • 如果要使用多個條件,可以使用邏輯運算子將它們組合起來。

    • AND:兩個條件相交。
    • OR:兩個條件結合在一起。

例如:

Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())

在此範例中,會定位其建立日期為目前月份和年份的描述檔。

JavaScript 語法

在定義 HTML 內容編輯器的文本類型區塊的可見性條件時,必須使用具有 JavaScript 類型語法的運算式。

JavaScript 運算式由一或多個條件組成,並使用下列語法元素:

  • 每個條件都採用 <context> <comparison operator> <value2> 行式,其中:

    • <context> 是可讓您指定上下文的欄位或函式。例如,context.profile.@email 適用於設定檔的電子郵件地址,或者 context.profile.firstName.length() 適用於設定檔名字的字元數。
    • <comparison operator>「比較」運算子區段中所列的運算子。此運算子定義 <context><value2> 之間的比較方法。
    • <value2> 是手動輸入的欄位、函式或值。
    注意

    <context><value2> 類型資料必須相同。例如,如果 <context> 是日期,則 <value2> 也必須是日期。

  • 如果要使用多個條件,可以使用邏輯運算子將它們組合起來。

    • &&:兩個條件相交。
    • ||:兩個條件結合在一起。

例如:

context.profile.age > 21 && context.profile.firstName.length() > 0

在此範例中,已提供 21 歲以上且其名字的描述檔(以 firstName 欄位至少包含一個字元為例)。

比較運算子

對於某些規則,查詢編輯器可讓您選取值來定義條件。

條件必須使用下列其中一個運算子連結至值。

運算元
標準語法
JavaScript 語法
說明
範例
Equal to
=
==
第一個值必須與第二個值完全相同。
@lastName = Martin 會擷取其姓氏為 'Martin' 的描述檔,只會擷取這些相同字元。
Greater than
>
>
第一個值必須斷斷續續大於第二個值。
@age > 50 會擷取早於 '50'、'51'、'52' 等描述檔。
Less than
<
<>
第一個值必須斷斷續續小於第二個值。
@created < DaysAgo(100),搜尋在少於 100 天前的資料庫中建立的所有設定檔。
Greater than or equal to
>=
>=
第一個值必須大於或等於第二個值。
@age >= 30 會擷取年齡在 30 歲以上的描述檔。
Less than or equal to
<=
<>
第一值必須小於或等於第二值。
@age <= 60 會接取年齡在 60 歲或以下的設定檔。
Different
!=
!=
第一個值必須與第二個值不同。
@language ! = English 會擷取尚未設定為說英語的設定檔。
Contains
IN
N/A
第一個值必須包含第二個值。
@domain IN mail。在此處,結果將返回所有具有 'mail' 值的網域名稱。因此,'gmail.com' 網域名稱將構成傳回結果的一部分。
Like
LIKE
N/A
Like 與 Contains 運算子非常類似。它可讓您在所搜尋的值中插入 % 萬用字元。
@lastName LIKE Mart%n。在此處,替代字元 % (%) 作為 "joker",在拼字不正確的假設情況下尋找名稱 "Martin"。
Not like
NOT
N/A
類似 Like。它可讓您不復原輸入的值。在這裡,輸入的值也必須包含 % 萬用字元。
@lastName NOT Smi%h。在這裡,與名稱 'Smi%h' (如 Smith 等)相對應的收件者不會被傳回為結果。
Is empty
IS NULL
N/A
第一個值必須對應至空值。
@mobilePhone IS NULL 會擷取所有尚未提供行動電話號碼的設定檔。

本頁內容

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