データのインポート
CSV や Excel ファイルからレコードを取り込みます。列をマッピングし、何かが保存される前にエラーを修正し、うまくいかなかったインポートを取り消します。
顧客リストや昨年のプロジェクトなど、スプレッドシートにレコードがある場合、インポートウィザードが 3 つのステップでそれをレコードに変えます:Upload、Mapping、Preview。最後に Import を押すまで、何も保存されません。
ウィザードを開く
オブジェクトのリストで、リストヘッダーの Import をクリックします。オブジェクトによっては、ヘッダーの ⋯ オーバーフローメニューの中にあります。
表示されるのは、オブジェクトがインポートに対して開かれていて、そのレコードの作成を許可されている場合だけです。インポートはレコードを作成するので、+ New と同じ権限が必要です。
ステップ 1:Upload
ファイルをウィザードにドラッグするか、Browse Files をクリックするか、Excel や Google Sheets からコピーした行をそのまま貼り付けます(Ctrl/⌘+V)。
| ファイル | サポート |
|---|---|
| CSV、TSV | はい |
Excel .xlsx | はい |
古い Excel .xls | いいえ。開いて先に .xlsx として保存してください |
最初の行は列見出しでなければならず、データ行が少なくとも 1 行必要です。
どの列を使えばよいかわからない場合は? Download template をクリックすると、インポートできるすべての列を一覧にし、必須の列に * を付け、記入方法を説明した Excel ファイルが手に入ります。
ヒント: 中国語版の Excel で保存したファイル(「CSV として保存」)は、UTF-8 ではなく GBK でエンコードされていることがよくあります。変換する必要はありません。ウィザードがエンコーディングを検出するので、中国語の見出しと値はそのまま取り込まれます。
ステップ 2:Mapping
ウィザードは名前によって列をオブジェクトのフィールドに対応付け、その確度(High、Medium、Low confidence)を示します。対応付けを確認し、間違っているものを変更します。
| 選択肢 | 効果 |
|---|---|
| フィールド | 列の値がそのフィールドに入ります |
| — Skip — | 列は無視されます |
値がフィールドの型らしく見えない列には印が付きます(たとえば Looks like Date)。
必須フィールドはマッピングしなければなりません。 マッピングされていない場合、Next は無効のままで、ウィザードは不足しているフィールドを示します。その列をファイルに追加するか、それを含むファイルをアップロードしてください。
マッピングの再利用。 Mapping template の下にある Save current は、この列とフィールドの対応をブラウザに保存するので、同じファイルレイアウトの次のインポートはワンクリックで済みます。アプリのビルダーがこの種のファイル向けに保存されたマッピングを設定している場合は、代わりにそれを選びます。その場合、サーバーが列の名前を変更し、値を変換し、独自のルールを適用し、列のマッピングは読み取り専用で表示されます。
ステップ 3:Preview
プレビューは、インポートされるとおりに行を表示します。問題のある行は強調表示されます。強調表示されたセルをクリックすると、その場で値を修正できます。Validate data をクリックすると、何かが書き込まれる前に、すべての行をサーバーに照らして確認します。有効な行の数と、どの行にエラーがあるかが表示されます。検証に合格した行は、インポートが受け入れる行です。
よくあるエラー:
| メッセージ | 意味 |
|---|---|
| This field is required | 必須の値が空です |
| "abc" is not a valid number(または date、time、true/false) | 値をフィールドの型として読み取れません |
| "Gold" is not one of the allowed options | 選択フィールドに、提供されていない値が入りました |
| No matching record for "Acme" | 別のレコードを指す列が、存在しないレコードを指定しました |
| "Acme" matches more than one record | その名前は一意ではありません。一意の値かレコード ID を使ってください |
インポートのオプション
| オプション | 機能 |
|---|---|
| When a row matches an existing record | Always create new、Update existing (skip if no match)、Update if matched, else create |
| Match on | 既存のレコードを見つけるために使うフィールド。メールアドレス、コード、外部 ID など |
| Keep unknown option values | フィールドが提供していない選択肢の値を、行を拒否する代わりにそのまま保存します |
| Skip rows with a blank match value | 照合に使う値がない行を除外します |
| Import in the background | インポートを、後で取り消せるジョブとして実行します |
照合フィールドで更新すると、インポートを安全に繰り返せます。同じファイルをもう一度実行すると、重複を作る代わりに、作成したレコードを更新します。
結果
インポートが完了すると、作成、更新、スキップされたレコードの数と、行のエラーが表示されます。Download failed rows は、取り込めなかった行だけを渡すので、修正してもう一度インポートできます。
バックグラウンドインポート、キャンセル、取り消し
5,000 行を超えるファイルは常にバックグラウンドでインポートされます。それより小さいファイルは、Import in the background にチェックを入れた場合にそうなります。バックグラウンドインポートは進捗を表示し、その間も作業を続けられます。
| 操作 | 何が起こるか |
|---|---|
| Cancel import | ジョブを停止します。すでに書き込まれた行は残ります。行は完全に保存されるか、まったく保存されないかのどちらかで、半分だけ書き込まれることはありません。 |
| History | このオブジェクトのバックグラウンドインポートを新しい順に、ステータス、行数、結果とともに一覧表示します |
| Undo import | インポートが作成したレコードを削除し、更新したレコードを以前の値に戻します。それ以外には何も触れません。 |
取り消せない行がある場合、ウィザードはその数を示します。Undo import をもう一度選ぶと、それらだけを再試行します。
ヒント: 大きなファイルを初めてインポートしますか?Import in the background にチェックを入れてください。結果が期待どおりでなければ、Undo import 一回で元に戻せます。
アプリビルダー向け:保存されたマッピング
保存されたマッピングは、パッケージ内の mapping メタデータです。外部の見出しをフィールドに名前変更し("Full Name" → name)、再インポートが重複ではなく更新になるようにするキーを設定し、取り込み時に値を変換できます。
| 変換 | 機能 |
|---|---|
map | コードを値に変換します('Webform' → web)。エントリのない値はそのまま通ります |
constant | 列を無視して固定値を書き込みます |
lookup | 名前を関連レコードの ID に解決します |
split | ひとつの列を複数のフィールドに分割します |
join | 複数の列をひとつのフィールドに結合し、空の部分はスキップします |
javascript 変換を指定したマッピングは、行が書き込まれる前に拒否されます。それを実行するサーバー側のサンドボックスがないためです。別の形式向けに宣言されたマッピングでファイルをインポートする(JSON を CSV マッピングで)と、両方の形式を示して拒否されます。Excel ファイルは CSV マッピングを通ります。存在しないマッピングを指定したインポートは、位置による列の照合にフォールバックするのではなく拒否されます。
次に進む
| やりたいこと | 読むもの |
|---|---|
| インポートしたレコードを編集する | レコードを操作する |
| インポートしたばかりのレコードを見つける | 検索 |
| インポートしたものだけにリストを絞り込む | ビューを使う |
| ツアーに戻る | ObjectOS を使う |