【解説】Common Data Serviceでのテーブル作成からレコードの編集・削除までを理解する

![common-data-service-header2.png](https://qiita-image-store.s3.amazonaws.com/0/208615/2a6cd387-e4d6-6421-e763-e74df95e01f4.png)

#▼この記事の対象
`Common Data Service(CDS)`の使い方は今現在(2019/03/25)、ブログにも記事にも全然取り上げられておらず実際の利用方法に関しては`よくわかんない`という状態です。

そんな中、この記事では以下に焦点を当てて記事を書きました。

`Common Data Serviceにおいて以下の実施方法`
　`データベース作成`
　`テーブル(エンティティ)作成`
　`カラム(フィールド)追加`
　`レコードの編集`
　`レコードの削除`
　`Flowからの利用`

上記は[公式ページのページ](https://docs.microsoft.com/ja-jp/powerapps/maker/common-data-service/data-platform-intro)見ても正直よく分かんなかったので、英語まみれのコミュニティページを翻訳して探してきました。

#▼なぜCDSを使うのか

`Flow`を使っていて、安全にデータ蓄積できるDBみたいなの無いかな？って調べ始めたのがきっかけです。

`Excelコネクタ`を使用して`OneDrive上のExcelをDBみたいに使用`することもできるんですが、`106万行`という制限があり、長期目線で見ると超えそうだったので断念しました。

FlowでDB系のコネクタを使おうとすると `MySQL`や`Oracle`など、有名所のコネクタがわらわらと出てきて「うぉーさすがMicrosoftのサービスやーやっぱ有名所はあるもんやのぅ」と思っていざ使おうとしたとき「ん？オンプレミス…？？(';')」「ゲートウェイの作成…？」となりました。

サーバー立てろってことか？？となり早々と諦めました。
おそらく個人がクラウドDBとして利用する想定ではなくて、`データ統合機能`として提供されているものなんだと勝手に理解しました。

#▼CDSを利用するにあたって

ここでは細かい制限とかについては記載しませんが、使用するためには
<font color="red">PowerAppsプランを購入</font>する必要があります。
※無料試用期間もありますので一旦そちらを使用しましょう
プランは２つあり、`プラン１は容量20MB`,`プラン２は容量200MB`まで使用できます。ということだけ記載しておきます。
あとは[こちら](https://powerapps.microsoft.com/ja-jp/pricing/)をご参照ください。

#▼ではさっそく！データベースを作成しましょう！

PowerAppsの画面から行くのが普通なんでしょうが、今回は[Flowの画面](https://japan.flow.microsoft.com/ja-jp/)から行きます。
左側の`データ`→`エンティティ`を押してください
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/ac53d78c-2ff1-db66-8178-b64d4b41333e.png)

PowerAppsの画面に移動したらまた`データ`→`エンティティ`を押してください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/1e632947-bef5-101d-7db5-4e9391e387b9.png)

そしたらこの画面になるので`データベースの作成`をクリックしてください。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/2e2e0b7d-dd48-5564-5c9a-3dacfa159d32.png)

すると、あらら？エラーか？違います。安心してください。はいてますよ。
`新しい環境を作成する`を押して環境を作りましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/e717c7a2-9f33-80fc-7b00-721d0ec14e21.png)

`運用`を選択してください。試用版だとうまくいかないす(不明)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/917c3cf9-df43-c116-d0a9-d931935f5ed4.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/0555c0f3-ca41-e37a-b976-1b5df6df3fbf.png)

何で通貨？と思いました？私も思いました。よくわかってないです。
気にせずいきましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/291c4cb0-9b05-295f-3c93-b1dcaf209c39.png)

おめでとうございますこれで完了です。

#▼テーブル作成

ここからは説明より画像ベースでポンポン行きます。
`エンティティ`をもっかい押してください。するとこの画面に遷移します。
ずらずらとエンティティ(テーブル)が並んでおりますが、標準で用意されているエンティティになるので一旦虫です。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/6860c33c-8fe3-9a8d-3461-3d045e073331.png)

`新しいエンティティ`の作成をクリック
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/beea75ae-7793-cb53-a2b8-1e32178f102f.png)

`表示名`（テーブル名）になります。
`次へ`
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/0c2a1dde-4079-0616-5256-149422c9ff81.png)

するといきなりこんな画面に。。
これはもうテーブルの中身の話になってますね。
表示されている`Primary Name`は初期値のフィールド(カラム)になります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/512c4ee2-a243-2d84-3168-208cb6eebc36.png)

`フィールドの追加`でカラムを追加しましよう
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/781007b0-729d-fe49-1db1-756450828cd3.png)

必須設定や自動インクリメント設定、長さなどを設定できます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/32213a2a-3d1d-43cd-9340-a28b0bb7cf06.png)

追加されました！おわりです。
キーの設定とかもできるので触ってみてくださいね
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/d7ae2869-9e6c-93a0-e1e5-4c74ffd6b14b.png)

#▼せっかく作ったので一回FlowからDBとして使ってみましょう

コネクタ二つありますが(experiment)ではない方を今回は使います。
(※違いがわかってません)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/a3643ce4-7e23-25c4-76fe-74812c959b58.png)

`環境`は先ほどデータベース作成した環境に指定します。
そして先ほど作成したテーブル名を入力すれば候補として表示されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/ec5b19c1-04c5-b82a-ad8a-014f92c89b54.png)

カラム名と全然あっていませんが、こんな感じで設定しましょう
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/9c516a72-7ead-9c3e-0ccc-13531d967648.png)

保存して実行すると…
失敗しました(笑)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/9f164ecc-4d10-73d5-3027-0d98d3c7ba39.png)

カラムの長さが１００だったので足りないようですね
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/f8e8e135-2679-7e7c-d3fb-a26a4cde22ae.png)

カラムの長さを編集します
Twitterは確かMAX１５０文字でしたよね？？たぶん
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/f2fa0ecd-532b-d68a-728c-5cbc2fdfade1.png)

`エンティティの保存`をして再度Flowを実行してみます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/de78fe85-a8bb-854c-e955-087c2b926f36.png)

成功しました！！

さぁデータを見てみましょう
データを見る方法としては上にリストにある`ビュー`または`データ`から参照します。
今回は`ビュー`から見に行きます
`高度な検索ビュー`をクリックしてください
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/dfd49eaa-6a08-39eb-2253-a8a39011d4c7.png)

デフォルトの設定では追加したカラムは表示されないので追加してあげる必要があります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/41f7d1ec-eca1-089a-9465-09cbb17ba485.png)

`作成日`が邪魔なので`remove`します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/ada0a527-547e-991d-ba1e-e5ad1fa619ed.png)

じゃーーーーーん
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/bf1ea8dc-2fa2-9362-160c-a80870216ae7.png)

いやぁ新しい扉が開けました…最高の気分です。

#▼レコードの編集、削除

この操作に関しては調べても調べてもまじでわかりませんでした。。
本当にどこにも載ってなかった(探せなかった)んですわ　※2019/03/26時点

ということでとくとご覧あれ

`Excelで開く`を押します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/2a42642c-59eb-6d39-bafe-e00aac99d897.png)

`保存ダイアログ`が出るので保存して開いてください
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/1da4b3f5-7655-14bf-7373-b4a13831599e.png)

すると右側に`このアドインを信頼する`が表示されるので押してMicrosoftにログインします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/fe25a8bd-3e77-6584-7676-509ea53b5743.png)

もうお気づきだろうか…そう、<font color="red">このExcelでデータの編集、削除を行う</font>のです…‼
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/765e92a5-7e00-594a-a2c0-d285c6fa0b41.png)

デフォルトで用意されているカラムのせいでごちゃごちゃしてますが、無視しましょ

では編集削除をお見せしま、、、と言いたいところですが
削除方法を見せれば編集方法もわかると思うので削除方法を見せます

思い切って１レコード残して全て削除します。（テーブルの行）
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/6bb4606b-6184-05df-397e-c71b3c7a5734.png)

かなり陰険なツイートが残ってしまいましたがこれも無視しましょう
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/a9ef5909-e6d3-40dc-89af-31cf4e3735f8.png)

さぁこれを反映させます！どのボタンを押せばいいでしょう
そう右下の`更新`…ではなく`公開`になります！
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/aa0f408a-3fc9-b605-432b-5c42e9e65f02.png)

すると変更内容が表示されますので問題なければ`はい`を選択します
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/6d84e769-38f3-13ec-d2d8-94cbbef08305.png)

成功するとこのように表示されるので完了です
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/c211c21d-6a02-bcfb-b674-dde91c5b7c7e.png)

先ほどの`リストビュー`を見てみましょう
![image.png](https://qiita-image-store.s3.amazonaws.com/0/208615/0239ab8a-4d79-11f6-1208-5852d8798fc3.png)

１行のみになってますね！

終わりです。お疲れさまでした

#▼最後に
やはりまだまだ不明点はありますが、最低限度の操作は知ることができたかな、といった感想です。
公式のドキュメントももっとユースケースを示した優しい書き方をして欲しいですね。。
ブログとか記事とかも増えてくことを祈ってます。

読んでくださった方、ありがとうございました ^^) _旦~~