データテーブル向け取り込みファイルのレイアウトと仕様

 インポート時の挙動とレイアウト

  • データテーブルはテーブル上でユニークなメインキーに基いて行データが管理されます。
    • 同一のデータテーブル上ではメインキーが重複することはなく、同一のメインキーの行データを複数回取り込んだ場合は後から取り込まれたデータで行データが上書きされます。
  • メインキーは作成したデータテーブルに最初に取り込まれたCSVファイルによって決定され、CSVファイル上の最も左の列メインキーとなります。
    • 一度メインキーが決定されたデータテーブルでは、CSVファイル上のメインキーに該当する列がメインキーとして扱われます。
    • メインキーはKARTE管理画面上からデータを削除を選択しない限りは変更されません。
  • 各データテーブルのメインキーは、KARTE管理画面のデータテーブルのヘッダ行から確認可能です。
  • 各列の型は取り込み時に確定されますが、後から異なる型で取り込みが行われた場合には型情報が上書きされます。
  • データテーブルへの取り込みは、原則としてUPSERT形式で動作します。
    • 該当メインキーのレコードがデータテーブル上に存在しなければINSERT(新規追加)を行い、レコードが存在すればUPDATE(更新)を行う形式です。
    • また現状ではJavaScript APIからのアクセスを除き、レコードを指定してデータテーブル上のレコードを削除することはできません。

 

CSVファイルのフォーマット

  • データテーブルにCSVファイルを取り込む際には、以下のフォーマットに準拠したファイルを作成してください。
 

フォーマット

  • 区切り文字
    • カンマ( , )にのみ対応しています
  • ヘッダ行
    •  必須です。各列の名称には、半角英数字とアンダースコア(_)のみ利用可能です
      • ヘッダ行に対応するCSVファイルの各列の値は、ヘッダ行の名称で管理されます
      • データテーブル上のデータがユーザーデータに紐付けられた際には、データテーブル上で定義された列名がユーザー属性のパラメータ名として利用されます
  • 対応している型
    •  データテーブル上で取り扱われる値は下記の4つの型に対応しています
      • テキスト型
        • 数値のみのID等はデフォルトでは数値として認識されますので、文字列として取り扱いたい場合はインポートされるデータの型指定でテキスト型であることをヘッダ上で明記して下さい
      • 数値型
      • Boolean型
        • 値として、小文字のtrueもしくは falseいずれかを指定してください
      • 日付型
        • 日付型データをインポートしたい場合には、ヘッダ上で列名の末尾を_dateという形式で表現する必要があります
        • 例: 会員登録日を意味するパラメータを日付型として認識させる際には、ヘッダ行にsignup_dateといった形式で指定
        • 日付の表記形式はYYYY-MM-DD, YYYY/MM/DD等の形式に対応しています
      • JSON型
        • JavaScriptでJSON.stringify()された形式のダブルクォートで囲まれた文字列である必要があります
        • 詳細はCSVファイルの例をご覧ください
    •  各列の型は、KARTE管理画面の各列のヘッダ右側に表示されています
      • マウスオーバー時に型情報が表示されます
 
 

インポートされるデータの型指定

  • テキスト型、数値型、Boolean型については、ヘッダ行に下記形式でコロン(:)区切りの型情報を追記することで、対応する列データの型を指定可能です
    • :string
      • 対応する列がテキスト型として認識されます
      • 例: user_id列をテキスト型として認識させる際には、ヘッダ行にuser_id:stringと指定
    • :number
      • 対応する列が数値型として認識されます
      • 例: point列を数値型として認識させる際には、ヘッダ行にpoint:numberと指定
    • :bool
      • 対応する列がBoolean型として認識されます
      • 例: subscription列をBoolean型として認識させる際には、ヘッダ行にsubscription:boolと指定
 

エスケープ

  • 値の中でダブルクォートを識別させたい際には、ダブルクォート2個( "" )で識別されます
 

囲み文字

  • ダブルクォート( " )を利用可能です
  • ダブルクォートで囲まれた値は、自動的にテキスト型として認識されます
 

 

CSVファイルのエンコーディング

  • 現在下記のエンコーディングに対応しています
    • utf-8
    • 現状対応しておりませんが、近い将来にshift-jis(Microsoft Excelで取り扱われる標準的なCSVのエンコーディング)にも対応予定です
  • 現状、BOM(byte order mark)の有無が区別されるため、BOMの有無が変更された場合等で予期せぬ挙動が発生する可能性があります
 
 

 

CSVファイルの例

  • 下記形式のデータをインポートしたい場合のCSVファイルの例とインポート結果です
    • user_id: ユーザーIDを意味する文字列(テキスト型メインキー)
    • email: メールアドレスを意味する文字列(テキスト型)
    • subscription: メールマガジン送信可否を意味するフラグ(Boolean値)
    • username: ユーザー名を意味する文字列(テキスト型)
    • point: 保有ポイントを意味する数値(数値型)
    • singup_date: 会員登録日を意味する日付(日付型)
    • favorite_items: お気に入り商品を意味するObjectの配列(JSON型)
 

CSVファイル例

user_id,email,subscription,username,point,signup_date,favorite_items
user001,taro.karte@example.com,true,カルテタロウ,100,2016-01-01,"[{"item_id":"001"},{"item_id":"003"}]"
user002,hanako.karte@example.com,false,カルテハナコ,200,2016-01-01,"[{"item_id":"002"}]"

 

 

 

CSVファイルのインポート結果

  

 

CSVインポート時の制限