Dataverse「データをインポート」と「Excelからデータをインポートする」の違い/注意点

# 前書き
- この記事は [Microsoft 365 Advent Calendar 2022](https://adventar.org/calendars/7485?fbclid=IwAR2Az6CcCjR2mmjRYqJhCKqwem6L22P528z5fwVAWC1FUyY5iT8SClYVNH8)の12月20日分です。
- この検証は2022年12月20日に行っております。ご承知おきください。

インポートのやり方に言及した記事はたくさんありますが、違いについて書いた記事は案外少ないような気がします💦
なので、自分が引っかかった点を備忘録として書いていこうと思います。
引っかかった点なので、なんだか弱点ばかりをあげつらう形になっていますが、あくまでも注意喚起です( ｰ`дｰ´)ｷﾘｯ

# 「Excelからデータをインポートする」はテーブルが複数個あると失敗する

シートが複数枚に分かれていて
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/c29ee606-6068-2b6e-a90b-71a589bf4e71.png)

「crbce_takarazukas」シートにあるテーブルがインポートしたいテーブル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/d6ea4a24-3fa5-f620-c5f4-e170f8948ab8.png)

しかし「Sheet1」にも実はもう1つテーブルが！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/d88c02a4-2246-4cb0-885c-9ab6dbd56c64.png)

こういう時はアップロードが出来ません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/af79417a-f4ff-cdd2-7d94-957e345c7f23.png)

「列のマップ」を押して、手動で指定しようとしても反応してくれません。万事休す……
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/639b1319-ff16-8540-298c-080fd31589ae.png)

テーブルの指定が出来ないので、素直に1テーブルに絞ってアップロードしましょう。

## ちなみに「データをインポート」では……

「データの選択」画面でテーブルの指定が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/4e6696e0-ac21-bf4e-fcfe-507b632c9f5a.png)

どうしても複数のテーブルがあるBookをアップロードしたい場合はこちらを選ぶのも良き✨


# 「Excelからデータをインポートする」は既存のDataverse テーブルへのインポートのみ

「Excelからデータをインポートする」をクリックすると、最初に出てくるのがこの画面。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/9a76e993-dc98-93bb-5734-98b473e0d5bd.png)

どれか１つテーブル（エンティティ）を選ばないと、右上の「次へ」をクリックさせてくれません。
なので列の数が多いオリジナルテーブルをインポートしたい場合は、Dataverse側に手動でテーブルを用意するのが億劫ですね。

## 「データをインポート」だと……
そういう時は「データをインポート」を使ってください。
マップテーブルのところで「新しいテーブルに読み込む」を指定出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/94fb8b2f-da02-a20f-ff83-2cf5e754497b.png)



# 既存テンプレートを活用するなら「Excelからデータをインポートする」はめちゃくちゃ優秀

ここまで読んだあなたは「Excelからデータをインポートする」ってダメなとこばっかりじゃんって思っているかもしれません。
なので使いどころを1つあげておきます。

Dataverse には予め用意されているテンプレートが多数あります。
例えば「取引先企業」とか「取引先担当者」「住所」などなど……
これらのテンプレートを活用する時に「Excelからデータをインポートする」は大活躍です。

## 優秀ポイント①：項目を考える手間がない

予め用意されているテーブルのデータをエクスポートして、それに値を入れ込むだけで完成します。
手間が少ないですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/77c096ab-fea9-4cfd-4c0f-a73a46243eed.png)

## 優秀ポイント②：不要な列を削除してインポートすると、勝手にマッピングしてくれる
例えば「住所」テーブルは項目が全部で32個もあります。
あなたがもっとシンプルなテーブルを好む場合、32項目は多すぎますよね💦
名前と電話番号だけ入力したいのに～と思うかもしれません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/826971e0-e608-ffb2-80d6-c567bd086801.png)

そういう時は入力したい項目だけに絞って、エクスポートすると他の列は自動的に「設定しない」にマッピングしてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/5f8b464f-e693-08d8-4b5c-a049c1ca0e2a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/c6bb86c8-411f-bc74-f642-9bdeb93296c1.png)

手動でマッピングしなくて済むのは、かなりありがたいと思いませんか？

ちなみに列の削除はPowerQueryの「列の選択」で行うと一発KO出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/4c6a4fe3-7c75-17c5-9167-8600a2893ba9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/ec6069c6-619f-e5d7-0b58-ba6cadf03df0.png)

必要なものだけレ点を入れればいいからすごく便利✨

## 優秀ポイント③：スキーマ名を考えなくてよい
スキーマ名は英数字オンリーなので、項目名が日本語だと機械的な名称をつけられてしまいます……
しかも直せない💦
テンプレートテーブルは予めスキーマ名は英語、列名は日本語で決められているので考える手間を削減出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3032705/6d811b63-e924-15f6-d043-275c465b96a5.png)



# まとめ

- 既存のテンプレートテーブルを活用する時は「Excelからデータをインポートする」がとても優秀！！
- とにかく素早くオリジナルテーブルを作りたい時は「データをインポート」が良き✨

違いをよく理解して、使いこなすととても快適です。