第 4 章: データ ソースとして Microsoft Dataverse を使用する

Maria は、Excel ブックに保持されているテスト データを使用してプロトタイプ アプリを作成しました。 次の手順では、実際のデータが提供されるデータ ソースにアプリを接続します。 Maria は、これを実行するオプションとして使用できる Microsoft Dataverse の存在を知っていて、それについて詳細を知りたいと考えています。

Dataverse とは

Dataverse は、標準テーブルのセットを持つデータ ストアです。 これを使用して、事業情報の保存、ビジネス ルールの管理、およびビジネス データ フローの定義を行うことができます。 多くの点でデータベースのように機能しますが、データの保持だけではありません。 これを使用して、ソリューションのビジネス ロジック要素を記録し、このロジックをアプリ間で共有できます。 Dataverse には、処理とワークフローを自動化できるスケジュール機能が含まれています。 さらに、グラフを追加してデータに関連付けることができます。Power Apps はこれらのグラフを Dataverse から直接参照できます。 詳細情報: Power Apps ドキュメントの Dataverse とは?

Dataverse は、Power Apps の「ローコード」 アプローチに従い、ビジネス ユーザーがビジネス エンティティとワークフローを作成できるようにします。 さらに、Dataverse は、Azure に実装された、拡張性があり信頼性が高く、安全なシステムです。 ロールベースのアクセス制御は、組織内のさまざまなユーザーへのアクセスの種類を制限します。ユーザーは、アクセスを許可されているエンティティのみ表示または操作できます。

注意

Power Apps のアプリケーションとユーザーの定義は、Dataverse にも保存されます。 Power Apps は、この情報を使用してアプリを作成、編集、公開します。

Dataverse を使用すると、異なるデータベースに保持されているデータを単一のリポジトリに統合できます。 1 つ以上のデータベースに保持されているデータを Dataverse のテーブルに定期的に取り込むデータフローを作成して、集約されたデータセットを作成できます。 詳細情報: Dataverse を選択する理由

外部ソースから Dataverse にアップロードする。

Dataverse でエンティティとリレーションシップを定義する

Dataverse には、Microsoft とそのパートナーが業界全体の Open Data Initiative で公開した、オープンソースの標準化された拡張可能なデータ エンティティとリレーションシップのコレクションが含まれています。 これらのエンティティのデータは、一連のテーブルに保存されます。 Dataverse はアカウント、住所、連絡先、組織、チーム、ユーザーなど、多くの一般的なビジネス オブジェクトのエンティティを定義します。 Power Appsデータ下にあるテーブル タブの Dataverse のテーブルを表示できます。 必要に応じて独自のカスタム テーブルを Dataverse に追加できますが、可能な限り既存のテーブルを使用することをお勧めします。 これは、アプリのサポート性を確保するのに役立ちます。 既定の Dataverse の一部であるテーブルには、標準として指定された種類がありますが、独自のテーブルの種類はカスタムとしてマークされます。

Dataverse テーブル。

Dataverse では、各エンティティは表形式であり、既定の列セットは Open Data Initiative によっても定義されています。 テーブルの一覧でそのエンティティに対して編集コマンドを使用すると、テーブルの定義を表示できます。 独自の列を使用してテーブルを拡張できますが、—前述のように—可能な限り、既存の列を使用することをお勧めします。 次の例は、アカウント テーブルの既定の定義を示しています。

注意

テーブルと列の表示名は、名前を変更せずに変更できます。 Power Apps は、フォームに表示される既定のラベルとして表示名を使用します。 Dataverse のアカウント テーブル。

Dataverse は単純なテキストや数値から、電子メールURL電話番号、および株式銘柄コードのように書式設定を指定した抽象的なものまで、列の豊富な一連のデータ型をサポートします。 選択および検索などの他の型を使用して、列に入力される値を、固定ドメインまたは関連テーブルの列から取得されたデータに制限できます。 ファイルおよび画像の種類を使用して、非構造化データと画像をテーブルに保存します。 画像のサイズは最大 30 MB ですが、ファイルのサイズは最大 128 MB になります。

注意

Power Apps の選択列で使用する独自のカスタム選択肢を定義できます。

テーブル間でリレーションシップを定義することもできます。 これらのリレーションシップは多対一一対多、または多対多のいずれかになります。 さらに、リレーションシップの一部として関連エンティティの動作を指定します。 動作は次のとおりです。

  • 参照: 制限付き削除の有無に関わりません。 制限付き削除は、同じテーブルまたは別のテーブルの別の行によって参照されている場合に、関連するテーブルの行が削除されないようにします。
  • : 行に対して実行されたアクションは、それが参照するすべての行にも適用されます。
  • カスタム: 参照されている行が、参照している行に対して実行されたアクションによってどのように影響を受けるかを指定できます。

次の例は、アカウント テーブルから SalesLT Customer という名前のカスタム テーブルに一対多の関係を追加する方法を示しています。 この動作により、顧客がアカウント テーブルの行によって参照されている場合、顧客が削除されないようにします。

Dataverse の関係。

ビューとビジネス ルールを追加する

ビューを使用すると、1 つ以上の関連テーブルの指定された列と行へアクセスできます。 ビューはクエリと考えることができますが、テーブルとして扱うことができる名前が付いています。 ビューにはテーブルから選択された列が含まれますが、関連テーブルの列を含めることができます。 さらに、ビューは行をフィルタリングして、指定された条件に一致する行のみを表示できます。 ビューによって表示される行の既定のソート順を指定することもできます。 ビューは、基になるデータに動的ウィンドウを提供することに注意してください。ビューの背後にあるテーブルでデータが変更されると、ビューに表示される情報も変更されます。 モデル駆動型アプリのビューを介してデータを表示できます。 次の画像は、ビュー デザイナーを示しています。 ユーザーは、アカウント テーブルに基づいてビューに新しい列を追加しています。

Dataverse でビューを定義する。

ビジネス ルールを使用して検証を定義し、エンティティでデータが追加、変更、または削除されたときの制御フローを自動化します。 ビジネス ルールは、列のデータが特定のルールに一致するか違反するかなど、影響を受けるエンティティの特定の条件をテストできる条件で構成されます。 次の図に示すように、Power Apps Studio のビジネス ルール デザイナーは、ビジネス ルールを定義するためのグラフィカル ユーザー インターフェイスを提供します。

Dataverse でビジネス ルールを定義する。

ビジネス ルール デザイナーは、次のアクションをサポートします。

  • 列の値を設定する。
  • 列の値をクリアする。
  • 列の要件レベルを設定する。
  • 列を表示または非表示にする (モデル駆動型アプリのみ)。
  • 列を表示または非表示にする (モデル駆動型アプリのみ)。
  • データを検証し、エラー メッセージを表示する。
  • ビジネス インテリジェンスに基づいて、ビジネスのレコメンデーションを作成する (モデル駆動型アプリのみ)。

注意

ビジネス ルールは、モデル駆動型アプリに最適です。 すべてのビジネス ルール アクションがキャンバス アプリでサポートされているわけではありません。

事業活動の定義

Dataverse のテーブルには、データを含む標準テーブル (カスタム テーブルを含む) と、Dataverse によって実行するようにスケジュールできるビジネス アクションとワークフローを表すアクティビティ テーブルの 2 つの基本型があります。 アクティビティ テーブルには、アクティビティに関係するデータ エンティティ (顧客や営業担当者など) への参照、アクティビティを進行できる一連の状態、現在の状態、および必要に応じて操作をスケジュールするために Dataverse によって使用されるその他の情報が含まれます。

Dataverse には、会議の管理、ビジネス プロセスのスケジュール設定、マーケティング、営業プロセスの管理、定期的な予定の作成、および顧客サービス インシデントの処理のための組み込みアクティビティが含まれています。 詳細情報: アクティビティ テーブル

カスタムアクションを使用して実際のビジネス ロジックを実装するか、Power Apps で直接利用できない追加のコントロールが必要な場合は独自のコードを実装します。 このプロセスの詳細はこのガイドの範囲外ですが、詳細については、カスタム アクションの作成を参照してください。

グラフィック表示要素の追加

ビジネス エンティティに関連付けられたデータ構造とロジックを保存することに加えて、Dataverse はエンティティに関連付けられたフォーム、グラフ、およびダッシュボードのレイアウトを保存することもできます。 モデル駆動型アプリを作成する場合、これらのフォームをデータの入力と表示に使用できます。一方、グラフとダッシュボードを使用すると、ユーザーは基本的なデータ値を確認するよりも簡単にデータを視覚化できます。

グラフの定義。

Dataverse を使用する Maria の決定

Dataverse は多くの状況でリポジトリの優れた選択肢です。 特にモデル駆動型アプリを作成している場合は、新しいシステムとサービスに基づいて新しい機能を既存のアプリケーションに追加する Power Apps 開発について真剣に検討する必要があります。

ただし、Maria が構築しているアプリケーションでは、データはすでにレガシー データベースに存在します。 そのデータベースに接続してデータを取得および変更する Web API が存在し、Azure App Service にデプロイされます。 これらのレガシー ソリューションは機能することが証明されており、Kiana とハイ コード開発チームは、これらのソリューションを今後も容易にサポートできます。

開発チームと Dataverse の融合の利点は、メンバーがすでに知りつくし、使い慣れているツールで最も生産的になるようにします。 チームは、Power Apps を使いアプリをビルドするために、すばやく既存データを Dataverse に移行する必要はありません。 同様に、チームが新しいデータを必要とするアプリケーションをビルドしている場合、Dataverse はオプションとして非常に意味があります。 Dataverse のレガシー データ ソースとデータの組み合わせを使用するために、Power Apps でビルドされたアプリが表示されることは珍しくありません。

フィールド技術者が顧客訪問のメモを追加できる新しい機能などを追加した場合は、Maria はデータの保存先として Dataverse を想定します。

これらの理由から Maria は一旦、必要なデータを取得するために、既に Kiana のチームが開発した Web API をアプリへ接続します。 次の章では、プロセスについて説明します。