ベータ版

(ベータ版)計算フィールドを使用したフラットスキーマファイルでの配列の書き出し

最終更新日: 2023-11-04
  • トピック:
  • Destinations
    このトピックの詳細を表示
  • 作成対象:
  • Developer
    User
    Admin
    Leader
利用可能性
  • 計算フィールドを使用して配列を書き出す機能は、現在ベータ版です。 ドキュメントと機能は変更される場合があります。

Real-Time CDPの計算フィールドを使用してフラットスキーマファイルからに配列を書き出す方法を説明します。 クラウドストレージの宛先. この機能で有効になる使用例については、このドキュメントをお読みください。

計算フィールドの内容とその理由に関する詳細な情報を取得します。 Data Prep の計算フィールドの概要と、使用可能なすべての関数の詳細については、以下にリンクされているページを参照してください。

重要

上記のすべての関数がサポートされているわけではありません クラウドストレージの宛先にフィールドを書き出す場合 計算フィールド機能を使用する。 詳しくは、 サポートされる関数の節 詳しくは、以下を参照してください。

Platform の配列とその他のオブジェクトタイプ

Experience Platformでは、 XDM スキーマ をクリックして、異なるフィールドタイプを管理します。 以前は、単純なキーと値のペアタイプのフィールド(文字列など)を目的の宛先にExperience Platformから書き出すことができました。 以前の書き出しでサポートされていたフィールドの例を次に示します。 personalEmail.address:johndoe@acme.org.

Experience Platform内の他のフィールドタイプには、配列フィールドが含まれます。 詳細を表示: Experience PlatformUI での配列フィールドの管理. 以前にサポートされていたフィールドタイプに加えて、次のような配列オブジェクトを書き出せるようになりました。 organizations:[marketing, sales, engineering]. 詳しくは、以下を参照してください。 広範な例 様々な関数を使用して配列の要素にアクセスする方法や、配列要素を文字列に結合する方法などを説明します。

既知の制限事項

この機能のベータ版リリースに関する既知の制限事項は次のとおりです。

  • 現時点では、階層スキーマを使用した JSON または Parquet ファイルへの書き出しはサポートされていません。 配列は、フラットスキーマの CSV、JSON、Parquet の各ファイルにのみ書き出すことができます。
  • この時 単純な配列(またはプリミティブ値の配列)のみをクラウドストレージの宛先に書き出すことができます. つまり、文字列、整数、ブール値を含む配列オブジェクトを書き出すことができます。 マップまたはマップまたはオブジェクトの配列は書き出せません。計算フィールドのモーダルウィンドウには、書き出し可能な配列のみが表示されます。

前提条件

接続 を目的のクラウドストレージの宛先に追加する場合は、 クラウドストレージの宛先のアクティブ化手順 そして、にアクセスします。 マッピング 手順

計算フィールドのエクスポート方法

クラウドストレージの宛先のアクティベーションワークフローのマッピング手順で、「 」を選択します。 (ベータ版)計算フィールドの追加.

バッチアクティベーションワークフローのマッピング手順で強調表示された計算フィールドを追加します。

モーダルウィンドウが開き、属性を選択してExperience Platformから属性を書き出すことができます。

重要

で使用できるのは、XDM スキーマの一部のフィールドのみです。 フィールド 表示。 文字列値、文字列、整数、ブール値の配列を確認できます。 例えば、 segmentMembership 配列は他の配列値を含むので、表示されません。

関数がまだ選択されていない計算フィールド機能のモーダルウィンドウ。

例えば、 join 関数を loyaltyID フィールドに値を入力し、CSV ファイル内でロイヤルティ ID の配列をアンダースコアと連結された文字列として書き出します。 表示 この他の例の詳細を以下に示します.

結合関数を選択した計算フィールド機能のモーダルウィンドウ。

選択 保存 をクリックして計算フィールドを保持し、マッピングの手順に戻ります。

結合機能が選択され、「保存」コントロールがハイライト表示された、計算フィールド機能のモーダルウィンドウ。

ワークフローのマッピング手順に戻り、 ターゲットフィールド を、エクスポートされたファイルのこのフィールドに必要な列ヘッダーの値に設定します。

ターゲットフィールドをハイライト表示したマッピング手順。

ターゲットフィールド 2 を選択

準備が整ったら、「 」を選択します。 次へ をクリックして、アクティベーションワークフローの次の手順に進みます。

ターゲットフィールドがハイライト表示され、ターゲット値が入力されたマッピング手順。

サポートされる 関数

計算フィールドのベータリリースでは、宛先と配列のサポートに対して、次の関数のみがサポートされていることに注意してください。

  • join
  • coalesce
  • size_of
  • iif
  • index-based array access
  • add_to_array
  • to_array
  • first
  • last
  • sha256
  • md5

配列の書き出しに使用する関数の例

上記の関数の一部については、以下の節の例と詳細情報を参照してください。 上記の残りの関数については、 「データ準備」セクションの一般的な関数のドキュメント.

join 配列を書き出す関数

以下を使用します。 join 関数を使用して、目的の区切り文字 ( _ または |.

例えば、マッピングのスクリーンショットに示すように、以下の XDM フィールドを組み合わせるには、 join('_',loyalty.loyaltyID) 構文:

  • "organizations": ["Marketing","Sales,"Finance"] 配列
  • person.name.firstName string
  • person.name.lastName string
  • personalEmail.address string

結合関数を含むマッピングの例。

この場合、出力ファイルは次のようになります。 配列の 3 つの要素が、 _ 文字。

`First_Name,Last_Name,Personal_Email,Organization
John,Doe,johndoe@acme.org, "Marketing_Sales_Finance"

iif 配列を書き出す関数

以下を使用します。 iif 関数を使用して、特定の条件下で配列の要素を書き出すことができます。 例えば、 organizations 上から配列オブジェクトを作成すると、 iif(organizations[0].equals("Marketing"), "isMarketing", "isNotMarketing").

iif 関数を含むマッピングの例です。

この場合、出力ファイルは次のようになります。 この場合、配列の最初の要素は「マーケティング」なので、人物はマーケティング部門のメンバーです。

`First_Name,Last_Name, Personal_Email, Is_Member_Of_Marketing_Dept
John,Doe, johndoe@acme.org, "isMarketing"

add_to_array 配列を書き出す関数

以下を使用します。 add_to_array 関数を使用して、書き出された配列に要素を追加します。 この関数を join 関数に関する情報を示します。

を使用して organizations 上から配列オブジェクトを作成する場合、 source: join('_', add_to_array(organizations,"2023"))をクリックし、2023 年に個人が属する組織を返します。

add_to_array 関数を含むマッピングの例。

この場合、出力ファイルは次のようになります。 配列の 3 つの要素が、 _ 文字と 2023 も文字列の末尾に追加されます。

`First_Name,Last_Name,Personal_Email,Organization_Member_2023
John,Doe, johndoe@acme.org,"Marketing_Sales_Finance_2023"

coalesce 配列を書き出す関数

以下を使用します。 coalesce 関数を使用して、配列の最初の null 以外の要素にアクセスし、文字列に書き出します。

例えば、マッピングのスクリーンショットに示すように、以下の XDM フィールドを組み合わせるには、 coalesce(subscriptions.hasPromotion) 最初の true / false の値を配列に含めます。

  • "subscriptions.hasPromotion": [null, true, null, false, true] 配列
  • person.name.firstName string
  • person.name.lastName string
  • personalEmail.address string

coalesce 関数を含むマッピングの例です。

この場合、出力ファイルは次のようになります。 null 以外の最初の true 配列の値がファイルにエクスポートされます。

First_Name,Last_Name,hasPromotion
John,Doe,true

size_of 配列を書き出す関数

以下を使用します。 size_of 関数を使用して、配列に存在する要素の数を示します。 例えば、 purchaseTime 複数のタイムスタンプを持つ配列オブジェクトの場合、 size_of 関数を使用して、個別の購入が個別におこなわれた回数を示します。

例えば、マッピングのスクリーンショットに示すように、以下の XDM フィールドを組み合わせることができます。

  • "purchaseTime": ["1538097126","1569633126,"1601255526","1632791526","1664327526"] 顧客別の 5 回の購入時間を示す配列
  • personalEmail.address string

size_of 関数を含むマッピングの例。

この場合、出力ファイルは次のようになります。 2 番目の列に、顧客が行った個別の購入の数に対応する、配列内の要素の数が示されていることに注意してください。

`Personal_Email,Times_Purchased
johndoe@acme.org,"5"

インデックスベースのアレイ・アクセス

配列のインデックスにアクセスして、配列から単一の項目を書き出すことができます。 例えば、上記の size_of 関数を使用する場合、顧客が特定の製品を初めて購入したときにのみアクセスして書き出しをおこなう場合は、 purchaseTime[0] タイムスタンプの最初の要素を書き出すには、次の手順を実行します。 purchaseTime[1] タイムスタンプの 2 番目の要素を書き出すには、次の手順に従います。 purchaseTime[2] タイムスタンプの 3 番目の要素を書き出すなど。

マッピングの例では、配列の要素にアクセスする方法を示します。

この場合、出力ファイルは次のようになり、顧客が初めて購入したときに書き出されます。

`Personal_Email,First_Purchase
johndoe@acme.org,"1538097126"

first および last 配列を書き出す関数

以下を使用します。 first および last 配列の最初または最後の要素を書き出す関数 例えば、 purchaseTime 配列オブジェクトに前の例の複数のタイムスタンプを含める場合、これらの関数を使用して、個人が行った最初または最後の購入時間を書き出すことができます。

最初と最後の関数を含むマッピングの例。

この場合、出力ファイルは次のようになり、顧客が最初に購入した日時と最後に購入した時間が書き出されます。

`Personal_Email,First_Purchase, Last_Purchase
johndoe@acme.org,"1538097126","1664327526"

ハッシュ関数

配列または要素を配列から書き出すための関数に加えて、ハッシュ関数を使用して、書き出されたファイルの属性をハッシュ化できます。 例えば、属性に個人を特定できる情報が含まれている場合は、それらのフィールドを書き出す際にハッシュ化できます。

文字列値を直接ハッシュ化できます。例: md5(personalEmail.address). 必要に応じて、配列フィールドの個々の要素をハッシュ化することもできます(配列内の要素が次のような文字列であると仮定)。 md5(purchaseTime[0])

サポートされているハッシュ関数は次のとおりです。

関数 サンプル式
sha1 sha1(organizations[0])
sha256 sha256(organizations[0])
sha512 sha512(organizations[0])
hash hash("crc32", organizations[0], "UTF-8")
md5 md5(organizations[0], "UTF-8")
crc32 crc32(organizations[0])

このページ