クエリ query
説明 description
「Query」アクティビティを使用すると、Adobe Campaign データベースから要素の母集団をフィルタリングして抽出できます。 該当するタブを使用して、ターゲット母集団の Additional data を定義できます。 このデータは追加の列に格納され、進行中のワークフローでのみ使用できます。
このアクティビティではクエリエディターツールを使用します。 このツールについては、該当する節で詳しく説明します。
関連トピック:
Context of use context-of-use
「Query」アクティビティは、次のような様々な用途に使用できます。
- 個人をセグメント化して、メッセージやオーディエンスなどのターゲットを定義する。
- Adobe Campaign データベーステーブル全体のデータをエンリッチメントする。
- データをエクスポートする。
設定 configuration
-
ワークフローに「Query」アクティビティをドラッグ&ドロップします。
-
アクティビティを選択し、表示されるクイックアクションの
ボタンを使用して開きます。 デフォルトでは、このアクティビティはプロファイルを検索するように事前設定されています。
-
プロファイルリソース以外のリソースに対してクエリを実行する場合は、アクティビティの「Properties」タブに移動し、「Resource」と「Targeting dimension」を選択します。
「Resource」では、パレットに表示されるフィルターを絞り込むことができます。これに対して、「Targeting dimension」は、選択されたリソースに応じて異なり、取得する母集団のタイプ(特定されたプロファイル、配信、選択されたリソースにリンクしているデータなど)に対応しています。
詳しくは、ターゲティングディメンションとリソースを参照してください。
-
「Target」タブで、ルールを定義して組み合わせ、クエリを実行します。
note NOTE オーディエンスをターゲットにする場合、オーディエンスの定義は参照されませんが、クエリに コピーされたことに注意してください。 クエリでターゲティングされた後にオーディエンスに変更を加えた場合は、新しい定義を考慮に入れるようにクエリを再度設定してください。 -
該当するタブを使用して、ターゲット母集団の Additional data を定義できます。 このデータは追加の列に格納され、進行中のワークフローでのみ使用できます。 特に、クエリのターゲティングディメンションにリンクされた Adobe Campaign データベースのテーブルからデータを追加できます。 データのエンリッチメントの節を参照してください。
note NOTE デフォルトでは、クエリの「Additional data」タブの「Advanced options」で「Remove duplicate rows (DISTINCT)」オプションがオンになっています。 パフォーマンス上の理由から、追加のデータが「Query」アクティビティに多数(100 以上)含まれている場合は、このオプションをオフにすることをお勧めします。 このオプションをオフにすると、クエリされたデータに応じて重複が取得される可能性があるので注意してください。 -
「Transition」タブの「Enable an outbound transition」オプションを使用すると、クエリアクティビティがデータを取得しない場合でも、このアクティビティの後にアウトバウンドトランジションを追加できます。
アウトバウンドトランジションのセグメントコードは、標準式とイベント変数を使用してパーソナライズできます(このページ を参照)。
-
アクティビティの設定を確認し、ワークフローを保存します。
ターゲティングディメンションとリソース targeting-dimensions-and-resources
ターゲティングディメンションとリソースを使用すると、配信のターゲットを指定するためにクエリで使用する要素を定義できます。
これらは ターゲットマッピング で設定され、ワークフローの作成時にクエリアクティビティの「Properties」タブで定義されます。
ターゲティングディメンションとリソースはリンクされています。 したがって、使用可能なターゲティングディメンションは、選択したリソースによって異なります。
例えば、Profiles (profile) リソースの場合、次のターゲティングディメンションを使用できます。
Deliveries (delivery) の場合、リストには次のターゲティングディメンションが含まれます。
ターゲティングディメンションとリソースを指定すると、クエリで様々なフィルターを使用できるようになります。
Profiles (profile) リソースに使用できるフィルターの例:
Deliveries (delivery) リソースに使用できるフィルターの例:
デフォルトでは、ターゲティングディメンションとリソースはターゲットプロファイルに設定されます。 ただし、距離テーブル内の特定のレコードを検索する場合は、ターゲティングディメンションとは別のリソースを使用すると便利です。
詳しくは、この使用例を参照してください。 ターゲティングディメンションとは異なるリソースを使用する
データのエンリッチメント enriching-data
「Query」アクティビティ、「Incremental query」アクティビティ、「Enrichment」アクティビティの「Additional data」タブを使用すると、ターゲットとなるデータをエンリッチメントし、このデータを次のワークフローアクティビティに転送して利用できるようになります。 特に、以下を追加できます。
- シンプルなデータ
- 集計
- コレクション
集計とコレクションの場合は、複雑な式に技術的識別子を付与するために Alias が自動的に定義されます。 このエイリアスは一意である必要があり、後で集計とコレクションを容易に検索することができます。 エイリアスをわかりやすい名前に変更することができます。
データを追加した後、定義した追加のデータに基づいて条件を作成することで、最初にターゲットしたデータに追加のフィルターレベルを適用できます。
追加データを使用して電子メールをパーソナライズする方法に関するユースケースは、このセクション に記載されています。
シンプルなフィールドの追加 adding-a-simple-field
シンプルなフィールドをデータとして追加すると、そのフィールドはアクティビティのアウトバウンドトランジションに直接表示されます。 これにより、例えば、クエリのデータが適切なデータであるかを確認できます。
-
「Additional data」タブから、新しい要素を追加します。
-
開いたウィンドウの「Expression」フィールドで、ターゲティングディメンションまたはリンクされたディメンションの 1 つで直接使用できるフィールドの 1 つを選択します。 式を編集し、ディメンションフィールドから関数やシンプルな計算(集計を除く)を使用できます。
シンプルな XPATH パスではない式を編集すると、Alias が自動的に作成されます(例:「Year(<@birthDate>)」)。 必要に応じて、変更を加えることができます。 1 つのフィールドのみを選択する場合(例:「@age」)、Alias を定義する必要はありません。
-
追加データへのフィールドの追加を確定するには、「Add」を選択します。 クエリを実行すると、追加されたフィールドに対応する追加の列が、アクティビティのアウトバウンドトランジションに表示されます。
集計の追加 adding-an-aggregate
集計を使用すると、ターゲティングディメンションのフィールドまたはターゲティングディメンションにリンクされたディメンションのフィールドから値を計算できます。 例:プロファイルの平均購入金額。
クエリで集計を使用する場合、関数は 0 に戻り、NULL と見なされます。 クエリの「Output filtering」タブを使用して、集計値をフィルターします。
- ゼロの値が必要な場合は、is null にフィルターを適用します。
- ゼロの値を除外したい場合は、is not null にフィルターを適用します。
集計に並べ替えを適用する必要がある場合は、ゼロの値を除外する必要があります。そうしないと、NULL 値が最大値として表示されます。
-
「Additional data」タブから、新しい要素を追加します。
-
開いたウィンドウで、集計の作成に使用するコレクションを「Expression」フィールドで選択します。
Alias が自動的に作成されます。 必要に応じて、クエリの「Additional data」タブに戻って変更をおこないます。
集計定義ウィンドウが開きます。
-
「Data」タブで集計を定義します。 選択した集計の種類に応じて、互換性のあるデータを持つ要素のみが「Expression」フィールドで使用できます。 例えば、合計は数値データでのみ計算できます。
選択したコレクションのフィールドに複数の集計を追加できます。 アクティビティのアウトバウンドデータの詳細において異なる列を区別するために、明示的なラベルを定義してください。
また、各集計に対して自動的に定義されるエイリアスを変更することもできます。
-
必要に応じて、フィルターを追加し、考慮するデータを制限できます。
追加されたデータのフィルターの節を参照してください。
-
「Confirm」を選択して集計を追加します。
コレクションの追加 adding-a-collection
-
「Additional data」タブから、新しい要素を追加します。
-
開いたウィンドウで、「Expression」フィールドに追加するコレクションを選択します。 Alias が自動的に作成されます。 必要に応じて、クエリの「Additional data」タブに戻って変更をおこないます。
-
「Add」を選択します。 新しいウィンドウが開き、表示するコレクションデータを絞り込むことができます。
-
「Parameters」タブで、「Collection」を選択して追加するコレクションの行数を定義します。 例えば、各プロファイルが最近おこなった 3 回の購入を取得する場合は、「Number of lines to return」フィールドに「3」と入力します。
note NOTE 1 以上の数値を入力する必要があります。 -
「Data」タブで、各行に表示するコレクションのフィールドを定義します。
-
必要に応じて、フィルターを追加し、考慮するコレクション行を制限できます。
追加されたデータのフィルターの節を参照してください。
-
必要に応じて、データの並べ替えを定義できます。
例えば、「Parameters」タブで返す行を 3 行と選択し、最近の購入を 3 回特定する場合、トランザクションに対応するコレクションの「日付」フィールドで並べ替えを降順に指定できます。
-
追加データの並べ替えの節を参照してください。
-
「Confirm」を選択してコレクションを追加します。
追加されたデータのフィルタリング filtering-added-data
集計またはコレクションを追加する場合は、追加のフィルターを指定して、表示するデータを制限できます。
例えば、金額が 50 ドル以上のトランザクションのコレクション行のみを処理する場合は、「Filter」タブからトランザクション金額に対応するフィールドに条件を追加できます。
追加データの並べ替え sorting-additional-data
集計またはコレクションをクエリのデータに追加する場合、フィールドの値や定義した式に基づいて、昇順と降順のどちらの並べ替えを適用するかを指定できます。
例えば、プロファイルが最近実行したトランザクションのみを保存する場合は、「Parameters」タブの「Number of lines to return」フィールドに「1」と入力し、「Sort」タブを介してトランザクション日に対応するフィールドに降順の並べ替えを適用します。
追加データに従ったターゲットデータのフィルタリング filtering-the-targeted-data-according-to-additional-data
データを追加すると、Query に新しい「Output filtering」タブが表示されます。 このタブでは、追加されたデータを考慮して、最初に「Target」タブでターゲット設定されたデータに追加のフィルターを適用できます。
例えば、少なくとも 1 つのトランザクションを実行したすべてのプロファイルをターゲットに設定し、プロファイルの平均トランザクション金額を計算する集計を Additional data に追加した場合、この平均値を使用して最初に計算した母集団を絞り込むことができます。
これをおこなうには、「Output filtering」タブで、この追加データに条件を追加します。