CSVファイルのインポート準備
この記事は、ファイルインポートデータソースを使用して成功するためのファイル準備を支援します。
インポートするデータの準備
以下のタイプのデータセットでファイルインポートデータソースを使用することをお勧めします:
- デモグラフィックデータ
- プロスペクトとリードデータ
- 過去の購入と払い戻し
- オフラインでのやり取り(サポート、ダイレクトマーケティング、イベント出席など)
ファイルの処理を効率的に行うために、大きなファイルを100,000行ごとの小さなファイルに分割することを強くお勧めします。大きなファイルサイズもサポートされていますが、50MBを超えるファイルサイズはエラーの可能性が高まるため、お勧めしません。
インポートされたデータを最大限に活用するために、CSVファイルの各行には、データを顧客に関連付ける一意の訪問IDの列があることを確認してください。詳細については、Tealium Data Sourcesを使用した訪問識別を参照してください。
ファイル命名規則
SFTPまたはS3を通じてアップロードされた複数のファイルは、ファイル名のアルファベット順に処理されます。
ファイル名のプレフィックス
CSVファイルは次の名前形式を使用する必要があります:{prefix}_{version}.csv
。この形式は次の部分で構成されています:
形式 | 説明 |
---|---|
prefix |
同じCSV列名を共有するファイルのグループの一意の識別子。 |
version |
(オプション) プレフィックス内のファイルの一意の識別子、通常はタイムスタンプとバージョン番号。 |
CSVファイルのバージョンを区別するために、バージョン番号の使用を強くお勧めします。
使用するファイル名のプレフィックスは一意でなければなりません。例えば、プレフィックスstore-transactions
とstore-transactions-returns
を使用すると、同じ初期プレフィックスstore-transactions
を共有しているため、予期しない結果が発生する可能性があります。
ファイル名の制限
ファイル名は以下のルールに従う必要があります:
- ファイル名には次の文字のみを含めることができます:文字(
a-z
またはA-Z
)、数字(0-9
)、ハイフン(-
)、アンダースコア(_
)、およびピリオド(.
)。 - ファイル名は大文字と小文字を区別します。例えば、
store-transactions_20230319-a.csv
とStore-Transactions_20230319-a.csv
は異なるファイルなので、混乱を避けるために小文字のファイル名を使用することをお勧めします。
ファイル名の例
複数のファイル
次の例は、2023年3月19日の店舗内購入で、a
とb
の2つのファイルに分けられています。
プレフィックス | バージョン | ファイル名 |
---|---|---|
storepurchases |
20230319-a |
storepurchases_20230319-a.csv |
storepurchases |
20230319-b |
storepurchases_20230319-b.csv |
複数のバージョン
次の例は、2023年3月14日と2023年3月15日の店舗からの返品の2つのファイルです。
プレフィックス | バージョン | ファイル名 |
---|---|---|
storereturns |
20230314 |
storereturns_20230314.csv |
storereturns |
20230315 |
storereturns_20230315.csv |
ファイルデータ形式
ファイルの構成
ファイルを次のガイドラインに従って整理することをお勧めします:
- ファイルエンコーディング
UTF-8 (BOMエンコーディングなし)を推奨します。 - フィールドセパレータ
フィールドセパレータはカンマ(,
)でなければなりません。 - 列名
- CSVファイルの最初の行にはファイルの列名を含める必要があります。その後の各行はイベントまたは訪問レコードを表し、少なくとも1つの訪問識別属性を含む必要があります。
- 列名にはハッシュ(
#
)、キャレット(^
)、または空白文字を含めることはできません。 - 列名は大文字と小文字を区別し、属性名と完全に一致する必要があります。
- 列の値
列の値は1,000文字を超えてはなりません。この制限を超える文字は切り捨てられます。 - 列の順序
列の順序は問題ではありませんが、訪問ID列を最初に配置することをお勧めします。 - 余分な/欠落している列
AudienceStream属性として構成されていない余分な列は無視されます。CSVファイルに存在しないマップされた列はスキップされます。 - 訪問IDで行をグループ化
各行には訪問ID列があり、ファイルには同じ訪問の複数の行が含まれる場合があります。同じ訪問IDを含む行は、インポートプロセスを最適化するためにグループ化する必要があります。 - 行の終端
次の行の終端がサポートされています:LF(ラインフィード)、CR(キャリッジリターン)、およびCR LF(キャリッジリターンラインフィード)。
データタイプの形式
以下のデータタイプを適切にフォーマットすることをお勧めします:
- カンマを含む値を二重引用符で囲む
値にカンマ(,
)が含まれている場合、CSV列の整合性を保証するために二重引用符で囲む必要があります。すべての値を二重引用符で囲むことをお勧めします。データ内の二重引用符文字を示すには、二重の二重引用符(""
)を使用します。 - 文字列の配列形式
ファイル属性が文字列の配列にマップされるようにするための次の例の形式を使用します:"[""one"",""two"",""three""]"
- 数値の配列形式
ファイル属性が数値の配列にマップされるようにするための次の例の形式を使用します:"[1.99,20.99]"
- ブール値の配列形式
ファイル属性がブール値の配列にマップされるようにするための次の例の形式を使用します:"[0, 1]","[0, 1]"
- 日付の正規化
- 与えられたフィールドのファイル全体で日付値は一貫していなければなりません。
- 各日付値はその列に指定された形式と一致しなければなりません。たとえば、予想される形式が
yyyy-MM-dd
である場合、値は4桁の年と2桁の月と日の値を含む必要があります。例:2021-02-09
。 - 次の日付コンポーネントがサポートされています:年、月、日、時間、分、秒、ミリ秒、AM/PM、ISO、RFC、Era。サポートされている日付コンポーネントの詳細については、Java SimpleDateFormat Patternsを参照してください。
- 日付はTealiumにミリ秒単位のエポックタイムスタンプとして保存されます。
- 空の値の正規化
一部の行にはすべての列に値が含まれていない場合があります。これらの列が空であり、“null”、“empty”、“blank"などのプレースホルダー値を含まないことを確認してください。 - 通貨額から特殊文字を省略
“OrderTotal"や"ProductPrice"のような通貨額を表す列には、記号やカンマを含めてはなりません。
有効な値 | 無効な値 |
---|---|
39.75 | $39.75 |
0 | zero |
1399.00 | €1.399,00 |
最終更新日 :: 2024年December月11日