式を編集する場合は、条件を手動で入力してルールを作成します。
このモードでは、高度な関数を使用できます。これらの関数を使用すると、日付、文字列、数値の各フィールドの操作や並べ替えなど、具体的なクエリの実行に使用する値を操作できます。
また、式の編集時にワークフローのイベント変数を使用することもできます。 詳しくは、イベント変数を使用したアクティビティのカスタマイズの節を参照してください。
式は、次の目的で使用できます。
ルールの追加時に使用できる「Advanced mode」オプションでクエリを定義する。
ワークフロー内で式を編集する。例えば、アクティビティにデータを追加する場合などです。
表示条件を編集して、HTML コンテンツエディターでブロックがどう表示されるかを定義する。この場合、式は JavaScript 形式で編集され、標準では高度な関数を使用できません。
高度な式の編集では、具体的な要件に応じて式を手動で定義することができます。
式の編集は、E メールの作成時にオーディエンスウィンドウで、また、ワークフローの作成時に「クエリ」アクティビティで使用することができます。
高度な式の編集についての節で説明した方法のいずれかで、式の編集ウィンドウにアクセスします。このウィンドウには次の要素が含まれています。
対応する入力フィールドに式を直接入力するか、使用可能なフィールドや関数の一覧を使用して、式を編集します。
フィールドまたは関数をダブルクリックすると、式のカーソル位置に、そのフィールドまたは関数が追加されます。
ワークフローのイベント変数を使用して式を作成できます。詳しくは、イベント変数を使用したアクティビティのカスタマイズの節を参照してください。
必要に応じて、ルールに具体的な名前を付けます。入力した名前は、クエリエディターワークスペースにルール名として表示されます。
式を編集すると、オーディエンス式をパーソナライズして、母集団を必要に応じてターゲットにすることができます。
関連トピック:
標準の式は、次の構文要素に従った 1 つまたは複数の条件で構成されます。
それぞれの条件は、<値 1><比較演算子> <値 2>の形式で記述します。
<値 1> と <値 2> は同じデータ型でなければなりません。例えば、<値 1> が日付の場合は、<値 2> も日付である必要があります。
複数の条件を使用する場合は、論理演算子を使用して組み合わせることができます。
例:
Year(@created) = Year(GetDate()) AND Month(@created) = Month(GetDate())
この例では、作成日が現在の月と年に該当するプロファイルがターゲットになります。
HTML コンテンツエディターでテキストタイプのブロックの表示条件を定義する場合は、JavaScript タイプ構文に従った式を使用する必要があります。
JavaScript 式は 1 つ以上の条件で構成され、次の構文要素を使用します。
それぞれの条件は、<コンテキスト> <比較演算子> <値 2> の形式で記述します。
<コンテキスト> と <値 2> は同じデータ型でなければなりません。例えば、<コンテキスト> が日付の場合は、<値 2> も日付である必要があります。
複数の条件を使用する場合は、論理演算子を使用して組み合わせることができます。
例:
context.profile.age > 21 && context.profile.firstName.length() > 0
この例では、年齢が 21 歳より上で、かつ名が指定されている(firstName フィールドに 1 文字以上記入されている)プロファイルを条件としています。
ルールによっては、クエリエディターで値を選択して条件を定義できるものがあります。
条件は、次のいずれかの演算子を使用して値にリンクする必要があります。
演算子 |
標準構文 |
JavaScript 構文 |
説明 |
例 |
---|---|---|---|---|
次と等しい |
= |
== |
1 つ目の値と 2 つ目の値は完全に同一でなければなりません。 |
@lastName = Martin は、姓が「Martin」と同一の文字列のプロファイルを検索します。 |
より大きい |
> |
> |
最初の値は、2 番目の値より大きくなければなりません。 |
@age > 50 は、年齢が「50」より上、つまり「51」、「52」などのプロファイルを検索します。 |
より小さい |
< |
< |
最初の値は、2 番目の値より小さくなければなりません。 |
@created < DaysAgo(100) は、過去 100 日以内にデータベースに作成されたすべてのプロファイルを検索します。 |
次よりも大きいか等しい |
>= |
>= |
最初の値は、2 番目の値より大きいか等しくなければなりません。 |
@age >= 30 は、年齢が 30 歳以上のプロファイルを検索します。 |
次よりも小さいか等しい |
<= |
<= |
最初の値は、2 番目の値より小さいか等しくなければなりません。 |
@age <= 60 は、年齢が 60 歳以下のプロファイルを検索します。 |
異なる |
!= |
!= |
最初の値は、2 番目の値と異なっていなければなりません。 |
@language ! = English は、英語を母語とする人として定義されていないプロファイルを検索します。 |
次を含む |
IN |
該当なし |
最初の値に、2 番目の値が含まれていなければなりません。 |
@domain IN mail。この場合、「mail」の値を含むすべてのドメイン名が結果として返されます。したがって、返される結果の一部には、「gmail.com」というドメイン名が含まれます。 |
次に類似 |
LIKE |
該当なし |
「次に類似」は、「次を含む」演算子とよく似ています。検索対象の値にワイルドカード文字 % を挿入することができます。 |
@lastName LIKE Mart%n。この場合、置換文字 % は「ジョーカー」として機能するので、仮にスペルが間違っていても「Martin」という名前を検索できます。 |
次に類似しない |
NOT |
該当なし |
「次に類似」と似ています。入力した値を除外することができます。この演算子でも、入力した値にワイルドカード文字 % が含まれている必要があります。 |
@lastName NOT Smi%h。この場合、「Smi%h」に該当する名前(Smith など)の受信者は、結果として返されません。 |
空である |
IS NULL |
該当なし |
最初の値は、空の値に対応している必要があります。 |
@mobilePhone IS NULL は、携帯電話番号が入力されていないすべてのプロファイルを検索します。 |