Microsoft Dataverse for Teamsを使用したアプリを作成する機会がありました。
本記事では、Microsoft Dataverse for Teamsに関する知見や、Microsoft Dataverse for Teamsを使用したアプリに使用するDataverseの新規作成方法についてご紹介していきたいと思います。
Microsoft Dataverse for Teamsとは
Microsoft Dataverseとは、クラウド型のデータベース及びアプリケーションプラットフォームです。Microsoft Dataverse を使用すると、ビジネスアプリケーションによって使用されるデータを安全に保存し、管理することができます。
Microsoft DataverseをMicrosoft Teams上で使用できるデータベース及びアプリケーションプラットフォームが、 今回のテーマでありアプリ作成に使用したMicrosoft Dataverse for Teamsです。
ユーザーは、Power Apps、Power Virtual Agents、Power Automate を使用して、Microsoft Teams上でカスタムアプリ、ボット、フローを構築することが可能となります。
以下に、Microsoft DataverseとMicrosoft Dataverse for Teamsの比較表を記載しました。比較表から、Dataverse for TeamsはDataverseの簡易版のような内容となっていることが読み取れると思います。
※ なお、Dataverse for TeamsからはDataverseへのアップグレードが可能となっております。
Microsoft DataverseとMicrosoft Dataverse for Teamsの比較表
Dataverse | Dataverse for Teams | |
環境 | 無制限 | チームごとに1つだけ |
最大サイズ | 4TBまたはそれ以上 | 100万行または2GB |
ユーザーロール | 詳細に設定可能 | チームの所有者・メンバー・ゲスト |
ライセンス | 別途契約が必要 | Microsoft 365に契約していれば無料 |
Microsoft Dataverse for Teamsの特徴
今回アプリを作成する過程で感じたMicrosoft Dataverse for Teamsの特徴としては、以下の3点があります。
Microsoft 365に契約していれば無料
1点目は、上記の表にも記載したように、Microsoft 365に契約していれば追加ライセンス不要で利用することができるということです。
Microsoft 365に契約さえしていればTeamsも Dataverse for Teamsも利用可能なため、実質無料で使用することができます。この点は、Dataverse for Teamsの大きな特徴の1つであると感じました。
各チームに1つだけの環境
2点目は、Dataverse for Teamsの環境は、各チームに1つだけということです。
各チームは、個別のDataverse環境を持つことができるため、独自のデータベース、テーブル、データ、及びアプリケーションを作成、管理することができます。
Dataverseは組織全体のデータ管理とアプリケーション開発に最適で、Dataverse for Teamsはチーム単位でのデータ管理とアプリケーション開発に特化しています。ビジネスの規模やニーズに合わせて、適切なツールを選択することが重要であると感じました。
セキュリティとコンプライアンス
3点目は、Microsoft Dataverse for Teamsは、Microsoft 365のセキュリティとコンプライアンスポリシーに準拠しているということです。
他のMicrosoft 365のサービスと同様にデータはエンドツーエンドで保護されており、Microsoft 365のアカウントやグループによるアクセス権限の管理等を行うことができます。
会議室予約アプリの作成手順
ここからは、実際に作成した会議室予約アプリの手順について、特にテーブルの作成からAppsへの追加方法に特化して説明していきたいと思います。
前提として、今回アプリを作成したテナントは、社内環境にチャネルを作成し、Apps for Teamsで作成しました。
会議室予約アプリの画面構成・機能検討
まず初めに、会議室予約アプリに必要な機能について検討を行いました。今回設計を行った機能、詳細については以下の表の通りとなります。
予約アプリの画面構成・機能検討表
No |
機能名 |
対象サービス |
機能詳細 |
1 |
予約・予約変更・ |
Power Apps for Teams Power Automate for Teams Dataverse for Teams |
会議室の予約・キャンセルをする |
2 |
メール通知 |
Power Automate for Teams |
会議室を預託/キャンセル/チェックインした際に通知 |
3 |
データ更新/保持 |
Dataverse for Teams |
Power Appsにて収集したデータを格納 |
4 |
データ更新 |
Power Automate for Teams |
一定期間経過後、DBのレコードを削除 |
5 |
予約照会 |
Power Apps for Teams |
Dataverseから値を抽出し、表示させる |
6 |
ホーム画面 |
Power Apps for Teams |
予約/キャンセルのポータル |
7 |
テーブル設計 |
Dataverse for Teams |
Dataverse for Teamsのテーブル設計 |
8 |
ロジック設計 |
全体 |
アプリ全体のロジック設計 |
続いて、予約アプリの画面構成を検討しました。以下の画像が今回構築したアプリの画面構成です。トップ画面から予約画面と予約状況を確認する画面への遷移を軸として、それぞれの画面構成を検討しました。
Dataverse for Teamsテーブル設計・作成
ここでは、Power Appsを駆動させるためのDataverse設計として以下の内容でテーブルを設計・作成しました。
【命名規則】接頭辞:CRA_M_/T_テーブル名
Dataverse設計表(テーブル名:CRA_T_RESERVATION)
フィールド名 |
説明 |
データ型 |
ReservationID |
予約ID |
int |
|
予約者メールアドレス |
text100 |
RoomID |
予約会議室番号 |
int |
Name |
予約者の名前 |
int |
ReservationDate |
予約日付 |
date |
ReservationTime |
会議室予約時間帯 |
datetime |
RoomFlag |
会議室予約状況フラグ |
int |
Number_of_ReservationPeple |
会議室利用人数 |
text100 |
Dataverse設計表(テーブル名:CRA_M_Room)
フィールド名 |
説明 |
データ型 |
RoomID |
会議室ID |
int |
RoomName |
会議室名 |
text100 |
RoomCapacity |
座席数 |
int |
Dataverse for Teams機能実装
上記のパートで検討したDataverse for Teamsのテーブルについて、実際にPower Appsへデータの追加を行いました。
(1)Teams画面上の左のサイドバーから「・・・」⇒「Power Apps」を選択します。
(2)「ビルド」を選択し、Appsを作成したいチームを選択、「すべてを表示」をクリックします。
(3)「+新規」から「テーブル」を選択する。
(4)表示名を入力し、保存する。
(5)テーブルが追加されたことを確認する。
これでテーブルの作成が完了します。
新規作成した際、初めに自動で列が作成されます。その列については、名前の変更はできますが削除はできません。
これはプライマリ名列といい、自動生成される番号を利用し、新しいレコードの識別に活躍します。また、プライマリ列は「オートナンバー」と「プレーンテキスト」のどちらかに編集でき、プレーンテキストを選択した場合メールアドレスや電話番号、URLを書式設定することも可能です。
作成するテーブルは何で情報を識別したいのか、予めテーブル設計しておくと作成しやすいです。
まとめ
今回は、DataverseとDataverse for Teamsの違いや会議室予約アプリで使用したDataverse作成手順についてご紹介いたしました。
実際に作成する上で感じたポイントは、DataverseとDataverse for Teams利用する際は、両者の違いを理解した上でチームにとって必要な選択をすることが重要であるということです。特に、環境やライセンスについては作成できるアプリの数や契約が別途必要という点で検討が必要であると感じました。
また、Power AppsやDataverseの特徴しては、ローコードでの作成が可能であるという点が挙げられると思います。テーブルの作成や更新などにSQL文が必要となることもないため、プログラミングスキルが無い初心者にとっても簡単に作成することができるのではないかと思います。
今後も、Power AppsやDataverseに関わる情報について発信していければと思います。最後まで、お読みいただきありがとうございました。
お詫びと訂正
初出時に、Dataverse for Teamsの特徴について、一部誤った記述がありました。お詫びして訂正いたします。
誤:各チームに1つだけアプリを作成できる
正:各チームに1つだけの環境
※ 該当の章の中身を含めて修正しています