Show Menu
トピック×

XDM スキーマへの CSV ファイルのマッピング

In order to ingest CSV data into Adobe Experience Platform, the data must be mapped to an Experience Data Model (XDM) schema. This tutorial covers how to map a CSV file to an XDM schema using the Platform user interface.
また、このチュートリアルの付録では、 マッピング関数 の使用に関する詳細情報を提供します。

はじめに

This tutorial requires a working understanding of the following components of Platform:
また、このチュートリアルでは、CSV データの取り込み先のデータセットを既に作成している必要があります。UI でデータセットを作成する手順については、 データ取得のチュートリアル を参照してください。

宛先の選択

[[Adobe Experience Platform]] にログインし、左のナビゲーションバーから ワークフローを選択して ワークフロー ​ワークスペースにアクセスします。
ワークフロー 画面の「 Data ingestion 」セクションで「 CSVをXDMスキーマにマップ」を選択し、「 Launch ​Launch」を選択します。
The Map CSV to XDM schema workflow appears, starting on the Destination step. 取り込む受信データのデータセットを選択します。 既存のデータセットを使用することも、新しいデータセットを作成することもできます。
既存のデータセットを使用する
CSVデータを既存のデータセットに取り込むには、「既存のデータセット を使用 」を選択します。 検索関数を使用して既存のデータセットを取得するか、パネル内の既存のデータセットのリストをスクロールして取得できます。
CSVデータを新しいデータセットに取り込むには、「新しいデータセットを 作成 」を選択し、表示されるフィールドにデータセットの名前と説明を入力します。 検索機能を使用するか、提供されるスキーマのリストをスクロールして、スキーマを選択します。 「 次へ 」を選択して次に進みます。

データの追加

データ追加 」手順が表示されます。CSVファイルを用意されているスペースにドラッグ&ドロップするか、「ファイルを 選択 」を選択してCSVファイルを手動で入力します。
The Sample data section appears once the file is uploaded, showing the first ten rows of data. Once you have confirmed that the data has uploaded as expected, select Next .

XDM スキーマフィールドへの CSV フィールドのマッピング

マッピング 」手順が表示されます。CSV ファイルの列は「 ソースフィールド 」の下にリストされ、対応する XDM スキーマフィールドが「 ターゲットフィールド 」の下にリストされます。未選択のターゲットフィールドは赤で囲まれます。フィルターフィールドオプションを使用して、使用可能なソースフィールドのリストを絞り込むことができます。
Platform 選択したターゲットスキーマまたはデータセットに基づいて、自動マップされたフィールドに高度な推奨機能を提供します。 使用事例に合わせて手動でマッピングルールを調整できます。
CSV列をXDMフィールドにマップするには、列の対応するターゲットフィールドの横にあるスキーマアイコンを選択します。
スキーマフィールドの選択 ​ウィンドウが表示されます。ここで、XDM スキーマの構造をナビゲートし、CSV 列のマッピング先のフィールドを探します。XDM フィールドをクリックして選択してから、「 選択 」をクリックします。
マッピングされていない残りのソースフィールドの手順を完了すると、 マッピング 画面が再表示され、選択したXDMフィールドが ターゲットフィールドの下に表示されます
フィールドをマッピングする際に、入力ソースフィールドに基づいて値を計算する関数を含めることもできます。詳しくは、付録の「 マッピング関数 」の節を参照してください。

追加計算フィールド

計算済みフィールドでは、入力スキーマーの属性に基づいて値を作成できます。 これらの値をターゲットスキーマの属性に割り当て、名前と説明を指定して参照しやすくすることができます。
先に進むには、 追加 計算フィールドボタンを選択します。
計算済みフィールド を作成 パネルが表示されます。 左側のダイアログボックスには、計算フィールドでサポートされるフィールド、関数、演算子が含まれています。 いずれかのタブを選択して、式エディタに関数、フィールドまたは演算子を追加する開始を行います。
タブ
説明
フィールド
「フィールド」タブのリストフィールドと属性は、ソーススキーマで使用できます。
関数
「関数」タブには、データの変換に使用できる関数がリストされます。
演算子
「operators」タブには、データの変換に使用できる演算子がリストされます。
中央の式エディターを使用して、手動でフィールド、関数および演算子を追加できます。 式の作成を開始するエディタを選択します。
保存 」を選択して続行します。
マッピング画面が再び開き、新しく作成したソースフィールドが表示されます。 対応するターゲットフィールドを適用し、「 完了 」を選択してマッピングを完了します。

データフローの監視

CSVファイルをマッピングして作成したら、ファイルを介して取り込まれるデータを監視できます。 データフローの監視の詳細については、「ストリーミングデータフローの 監視に関するチュートリアル 」を参照してください。

次の手順

By following this tutorial, you have successfully mapped a flat CSV file to an XDM schema and ingested it into Platform. このデータは、などのダウンストリーム Platform サービスで使用できるようになり Real-time Customer Profileました。 詳細については、 リアルタイム顧客プロファイルの概要を参照してください

付録

次の節では、CSV 列を XDM フィールドにマッピングするための追加情報を提供します。

マッピング関数

特定のマッピング関数を使用して、ソースフィールドに入力した内容に基づいて値を計算できます。関数を使用するには、「 ソースフィールド 」の下に適切な構文で関数を入力します。
例えば、 市区町村 ​と​ ​の CSV フィールドを連結し、 市区町村 XDM フィールドに割り当てるには、ソースフィールドを「 concat(city, ", ", county) 」と設定します。
次の表に、サポートされているすべてのマッピング関数、サンプル式、およびその結果の出力を示します。
関数
説明
サンプル式
サンプル出力
concat
指定された文字列を連結します。
concat("Hi, ", "there", "!")
"Hi, there!"
explode
正規表現に基づいて文字列を分割し、部分の配列を返します。
explode("Hi, there!", " ")
["Hi,", "there"]
instr
サブ文字列の場所/インデックスを返します。
instr("adobe .com", "com")
6
replacestr
元の文字列に検索文字列が存在する場合は、その文字列を置き換えます。
replacestr("This is a string re test", "re", "replace")
"This is a string replace test"
substr
指定された長さのサブ文字列を返します。
substr("This is a substring test", 7, 8)
"サブセット"
lower /
lcase
文字列を小文字に変換します。
lower("HeLLo")
lcase("HeLLo")
"hello"
upper /
ucase
文字列を大文字に変換します。
upper("HeLLo")
ucase("HeLLo")
"HELLO"
split
区切り記号で入力文字列を分割します。
split("Hello world", " ")
["Hello", "world"]
join
区切り記号を使用してオブジェクトのリストを結合します。
join(" ", ["Hello", "world"] )
"Hello world"
coalesce
指定されたリスト内の最初の null 以外のオブジェクトを返します。
coalesce(null, null, null, "first", null, "second")
"first"
decode
キーと、キーと値のペアのリストが配列としてフラット化されている場合、この関数は、キーが見つかった場合は値を返し、デフォルト値が配列に存在する場合はデフォルト値を返します。
decode("k2", "k1", "v1", "k2", "v2", "default")
"v2"
iif
指定されたブール式を評価し、結果に基づいて指定された値を返します。
iif("s".equalsIgnoreCase("S"), "True", "False")
"True"
min
指定された引数の最小値を返します。自然な順序を使用します。
min(3, 1, 4)
1
max
指定された引数の最大値を返します。自然な順序を使用します。
max(3, 1, 4)
4
first
最初の指定された引数を取得します。
first("1", "2", "3")
"1"
last
最後の指定された引数を取得します。
last("1", "2", "3")
"3"
uuid /
guid
擬似ランダム ID を生成します。
uuid()
guid()
now
現在の時刻を取得します。
now()
2019-10-23T10:10:24.556-07:00[America/Los_Angeles]
timestamp
現在の Unix 時間を取得します。
timestamp()
1571850624571
format
指定された形式に従って入力日をフォーマットします。
format(, "yyyy-MM-dd HH:mm:ss")
"2019-10-23 11:24:35"
dformat
指定された形式に従ってタイムスタンプを日付文字列に変換します。
dformat(1571829875, "dd-MMM-yyyy hh:mm")
"23-Oct-2019 11:24"
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
date("23-Oct-2019 11:24")
"2019-10-23T11:24:00+00:00"
date_part
日付の一部を取得します。次のコンポーネント値がサポートされています。
"year"
"yyyy"
"yy"
"quarter"
"qq"
"q"
"month"
"mm"
"m"
"dayofyear"
"dy"
"y"
"day"
"dd"
"d"
"week"
"ww"
"w"
"weekday"
"dw"
"w"
"hour"
"hh"
"hh24"
"hh12"
"minute"
"mi"
"n"
"second"
"ss"
"s"
"millisecond"
"ms"
date_part(date("2019-10-17 11:55:12"), "MM")
10
set_date_part
指定された日付のコンポーネントを置き換えます。次のコンポーネントが受け入れられます。
"year"
"yyyy"
"yy"
"month"
"mm"
"m"
"day"
"dd"
"d"
"hour"
"hh"
"minute"
"mi"
"n"
"second"
"ss"
"s"
set_date_part("m", 4, date("2016-11-09T11:44:44.797")
"2016-04-09T11:44:44.797"
make_date_time /
make_timestamp
部分から日付を作成します。
make_date_time(2019, 10, 17, 11, 55, 12, 999, "America/Los_Angeles")
2019-10-17T11:55:12.0​00000999-07:00[America/Los_Angeles]
current_timestamp
現在のタイムスタンプを返します。
current_timestamp()
1571850624571
current_date
時間のコンポーネントなしで現在の日付を返します。
current_date()
"18-Nov-2019"