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