★★★: よくある

インポートでエラーが発生しちゃったんだけど、どうしよう...

データをインポートしよう~CSV手動編~」「データをインポートしよう~CSV自動編~」ではDr.Sumへデータをインポートする手順をご紹介しました。

すんなりインポートできれば良いのですが、データや設定内容によってはエラーが発生することもあります。
今回はデータのインポートで発生しがちなエラーと、その対応についてご紹介いたします。

ケース1: 文字/数値といったデータ型が一致していない

あたり前のことなのですが、数値側で設定した項目に文字型のデータをインポートする等設定したデータ型と実際にインポートするデータ型が異なるとエラーとなります。

項目数が多くデータの内容まで覚えていなかったり、項目名だけではデータ型の判断がむずかしかったりする場合ありますよね?

またインポートウィザードを使った場合、型を自動判別するので便利なのですが、データの全てを読み取って判断するわけではない(デフォルトで先頭から50行、最大で1000行で判断する指定が可能)のでまれに型が合わないこともあります。

そんな時はインポート元のデータの定義書、設計書等をよく確認し適切なデータ型を再度設定してください。

ケース2: 日付のフォーマットが一致していない

日付や時刻のデータがあり、その項目が原因でエラーとなる場合があります。

これはデータベースやCSVで、年が4桁だったり、2桁だったり日付/時刻のフォーマットが異なることが原因です。

インポートする際に適切なフォーマットを指定することで解決できます。
例えばインポートウィザードでは下図のようなフォーマットを指定するダイアログがあり、フォーマットを指定することができます。

ケース3: CSVのデータ中に引用符が含まれるがエスケープされていない

CSVやTSVといったテキスト形式のデータには、ルールがありデータ項目を
引用符(ダブルクォーテーション「"」等)で囲うことが多くあります。

例:"123456789","あいうえお","2020/05/27"

ここではダブルクォーテーション「"」を例にしますが、もしデータ中に「"」が含まれていた場合は、ダブルクォーテーションを一つ付加し「""」のように記載することで、引用符ではなく、データであることを表す決まりになっています。
これをエスケープ処理と言います。

エスケープ前: 商品名は"ウイングレモン"です。
エスケープ後: 商品名は""ウイングレモン""です。

データ中に引用符が含まれ、適切なエスケープ処理がされていないとエラーとなりますので注意してください。

インポートウィザードでは下図のようなフォーマットを指定する項目があり、引用符を指定することができます。

もしもインポートでエラーが発生したら思い出してくださいね!