(アルファ)計算済み属性の PQL 式の例

重要

計算済み属性機能は現在アルファ版で、すべてのユーザーが使用できるわけではありません。 ドキュメントと機能は変更される場合があります。

Adobe Experience Platformでは、計算済み属性は、イベントレベルのデータをプロファイルレベルの属性に集計するために使用される関数です。 これらの関数は自動的に計算され、セグメント化、アクティブ化およびパーソナライズ機能で使用できます。各計算済み属性は、名前や説明、値が保持されるフィールドのスキーマクラスとパス、計算済み属性に格納する値が計算済み値の式など、基本情報を使用して定義されます。

計算済み属性で使用される式は、 Profile Query Language (PQL) を使用して作成されます。PQL は、リアルタイム顧客プロファイルデータのクエリの定義と実行をサポートするように設計された、Experience Data Model(XDM) 準拠のクエリ言語です。

計算済み属性は現在、次の関数をサポートしています。sum、count、min、max および boolean。 このガイドでは、組織に独自の計算済み属性を定義する際に使用できる、最もよく使用される PQL 式の一部について説明します。 PQL の詳細と、サポートされるクエリのその他の書式設定のガイドラインおよびサンプルへのリンクについては、PQL の概要 を参照してください。

ストリーミング式

次の表に、ストリーミングモードでサポートされる一般的に使用されるクエリ式の詳細を示します。

説明 PQL 式 入力タイプ:
プロファイルまたはエクスペリエンスイベント (EE[])
結果のタイプ
過去 7 日間の画像のダウンロード数。 xEvent[(タイムスタンプは現在よりも 7 日前に発生)および eventType="download"および contentType= "image"].count() プロファイルと EE [] 整数
過去 7 日間のスポーツ用品に対する顧客支出の合計。 xEvent[(タイムスタンプは現在より 7 日前に発生)および eventType="transaction"および category = "sportinggoods"].sum(commerce.order.priceTotal) プロファイルと EE [] 整数または倍精度
過去 7 日間のスポーツ用品に対する平均顧客支出。

注意: 3 つの計算済み属性を作成する必要があります。
ca1: xEvent[( タイムスタンプが発生しま < 7="" days="" before="" now="">す。sum(commerce.order.priceTotal)

ca2: xEvent[( タイムスタンプが発生します。 < 7="" days="" before="" now="">.count()

ca3: ca1 / ca2]]
プロファイルと EE [] Double
顧客は過去 7 日間、スポーツ用品に 100 ドル以上を費やしたか。

注意: 2 つの計算済み属性を作成する必要があります。
ca1: xEvent[( タイムスタンプが発生 < 7="" days="" before="" now="">する.sum(commerce.order.priceTotal)

ca2: ca1 > 100]
プロファイルと EE [] Boolean
顧客は過去 7 日間に購入したか。 chain(xEvent, timestamp, [A:WHAT(eventType = "transaction") WHEN(< 7 日前)]) プロファイルと EE [] Boolean
過去 7 日間で最も低いユーザーがスポーツ用品に費やした。 xEvent[(タイムスタンプは現在より 7 日前に発生)および eventType="transaction"および category = "sportinggoods"].min(commerce.order.priceTotal) プロファイルと EE [] 整数または倍精度
過去 7 日間で最も高いユーザーがスポーツ用品に費やした。 xEvent[(タイムスタンプは現在より 7 日前に発生)および eventType="transaction"および category = "sportinggoods"].max(commerce.order.priceTotal) プロファイルと EE [] 整数または倍精度
過去 7 日間の、製品ごとにインデックス付けされた、ダウンロードされた各製品のダウンロード数。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map(((K, G) => mapEntry(K, G.count()))) プロファイルと EE [] Map[String, Integer]
過去 7 日間の、製品ごとにインデックス付けされた、ダウンロードされた各製品のダウンロード数に対する数値プロパティの合計。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map(((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal)))) プロファイルと EE [] Map[String、Integer] または Map[String、Double]
過去 7 日間の、製品ごとにインデックス付けされた、ダウンロードされた各製品のダウンロードに対する数値プロパティの平均。

注意: 3 つの計算済み属性を作成する必要があります。
ca1: xEvent[( タイムスタンプが発生する < 7="" days="" before="" now="">.groupBy(product).map((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal)))

ca2: xEvent[( タイムスタンプが発生する.groupBy(product).map((K, G) => map(K, G.count())) < 7="" days="" before="" now="">ca3:

ca2 / ca1]]
プロファイルと EE [] Map[String, Double]
過去 7 日間の、製品ごとにインデックス付けされた、ダウンロードされた各製品のダウンロードに対する数値プロパティの最小値。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map(((K, G) => mapEntry(K, G.min(commerce.order.priceTotal)))) プロファイルと EE [] Map[String、Integer] または Map[String、Double]
過去 7 日間の、製品ごとにインデックス付けされた、ダウンロードされた各製品のダウンロードを超えた数値プロパティの最大数。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map(((K, G) => mapEntry(K, G.max(commerce.order.priceTotal)))) プロファイルと EE [] Map[String、Integer] または Map[String、Double]
プロファイルに対する数値式(イベントを参照しない)。 if(person.gender = "female", 60, 65) プロファイル 整数または倍精度
プロファイルに対するブール式(イベントを参照しない)。 person.birthYear >= 2000 プロファイル Boolean
プロファイルに対する文字列式(イベントを参照していません)。 if(homeAddress.countryCode in ["US","MX","CA"], "NA", "ROW") プロファイル 文字列

バッチ式

次の表に、バッチモードでのみ使用可能な、つまり現在ストリーミングでは使用できないクエリ式の詳細を示します。

説明 PQL 式 入力タイプ:
プロファイルまたはエクスペリエンスイベント (EE[])
結果のタイプ
過去 7 日間の製品ダウンロードに対する数値式の合計が 100 を超えているかどうか(製品別インデックス)。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map((K, G) => mapEntry(K, G.sum(commerce.order.priceTotal) > 100)) プロファイルと EE [] Map[String, Boolean]
過去 7 日間の製品のダウンロードに対する数値式の平均が 100 を超えているかどうか(製品別)。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map(((K, G) => mapEntry(K, G.average(commerce.order.priceTotal) > 100)) プロファイルと EE [] Map[String, Boolean]
過去 7 日間の、ダウンロードした各製品の様々な指標の蓄積。製品別にインデックス化。 xEvent[(タイムスタンプは今から 7 日前に発生します)および eventType="download"].groupBy(product).map((K, G) => mapEntry(K, {"count":G.count(), "sum":G.sum(commerce.order.priceTotal)}) プロファイルと EE [] Map[String, Object] (Object はカスタム XDM タイプ)

このページ