Power Platform を好奇心でいじってるエンジニア歴 1 年目の、横田です!
今回は Power Apps のトリセツ、エンティティ編です!エンティティを追加してレコードを作成し、そのレコード一覧の確認までを紹介します!
最初に説明する「エンティティとは」「レコードとは」では文字ベースで理解しづらいと思うので、「エンティティの追加」から実際に触ってみると理解しやすいかと思います。
※この記事はあくまで筆者の考えが沢山盛り込まれているので「へー 」ぐらいの温度感で読んでもらい、ぜひご指摘していただきたいです!
それではやっていきましょう!
エンティティとは
エンティティとはデータの構成を定義したものだと考えています...言葉だとわかりづらいので具体例を交えて説明していきます。まず、Common Data Service について説明します。Common Data Service ( CDS ) とは、Power Platform で共通して使用できるデータベースみたいなものです。この CDS には一般的なシナリオをカバーする標準エンティティと呼ばれる基本セットがあります。例えば「メール」や「取引先企業」などです。仮に取引先企業の一覧を管理するシナリオがあれば、この取引先企業のエンティティに沿って各企業の情報を登録し、管理することができます。この「取引先企業」のデータ構成を定義しているのがエンティティです。

標準エンティティ以外にも、固有のカスタムエンティティを作成できます。仮に図書館で本を管理するシナリオを考えると、本の「ID」「名前」「ジャンル」「貸出状況」「購入日」「最終貸出日」などの項目を持ったエンティティを作成して、本を管理することができます。
レコードとは
レコードとは、エンティティのデータ構成に従ったデータ1つ1つのことです。先程の図書館の例だと、レコードはエンティティのデータ構成に従った本のデータ1つ1つを指しています。下記の画像では book というエンティティに「スマッシュ」と「どうぶつの」という2つのレコードがあります。

エンティティの追加
今回は「本」というカスタムエンティティを追加していきます。まず Power Apps を開いて「データ」→「エンティティ」→「新しいエンティティ」に移動します。

右にエンティティの名前を追加するフィールドが出てきたかと思います。表示名に book と入力して、作成ボタンをクリックします。

しばらくするとエンティティが作成できます。

続いてフィールドを追加していきます。初期値で作られる「book」にはGUIDと呼ばれる他と被らないIDが付与されます。「Name」はそのまま本の名前にします。追加の項目として「ジャンル」「貸出状況」「購入日」の項目を追加していきます。追加の方法はそのまま UI に従って入力していくだけなので軽く省略しています。
「ジャンル」のデータ型はオプションセットを選択します。オプションセットの中身は「SF」「ホラー」などの本のジャンルを定義して、その中からジャンルを選択するようにしています。

「貸出状況」も同様にオプションセットを選択します。

「購入日」は日時を選択します。

追加できたらエンティティを保存します。

レコードの作成
レコードの作成は、エンティティ画面でも Power Automate でもできますが、今回は Power Apps のアプリから作成していきます。まずキャンパスアプリを作成して「挿入」→「フォーム」→「編集」でフォームを追加します。

フォームの DataSource に book を追加します。

続いて「カスタムウィンドウから追加するフィールドを選択してください」をクリックします。右にフィールドを追加する画面が出てくるのでフィールドを追加していきます。今回はレコードを作成する際に「名前」「ジャンル」「貸出状況」「購入日」を設定したいので、設定したい項目にチェックを付けてフィールドを追加します。

デフォルトでは Form が編集モードになっているので、新規モードに変更します。

続いて「新規」「保存」「キャンセル」ボタンを追加します。新規ボタンの OnSelect には NewForm(Form1) を、保存ボタンの OnSelect には SubmitForm(Form1) を、キャンセルボタンの OnSelect には ResetForm(Form1) を追加します。NewForm は Form のモードを新規に変更します。SubmitForm はレコードの追加 / 更新をします。ResetForm は入力している内容をリセットします。あとは入力して保存すればレコードが作成されます。参考にしたサイトはこちらです。

レコードの確認
レコードの確認は Power Apps のギャラリーとフォームを使ってもできますが、今回はエンティティの画面から確認します。Power Apps を開いて「データ」 →「エンティティ」→「book」→「データ」に移動します。追加したレコードの一覧が表示されますが、「Name」と「作成日」の項目しか表示されていないと思います。

すべての項目を確認したい場合、右上の「アクティブな book」を「すべてのフィールド」に変更すると確認できます。

まとめ
今回は Common Data Service のエンティティの追加からレコードの作成、確認までを紹介しました。今回紹介した方法以外にも、Power Automate でレコードを追加したり、Power Apps でレコードの一覧を確認したりすることもできます。Power Platform と CDS は親和性が高いのか、色々連携しやすいのがいいところですね!