リレーショナル データとは?
データの関連付けは、Power Apps を使用した複雑なアプリ構築の領域に取り組む場合に重要な概念です。 重要なのは、さまざまなデータ ソース間の接続を確立して、機能とデータ構成を強化することです。
出張費アプリで考えてみると、全旅程に対して主なレコードを 1 つ用意し、食費や宿泊費など、個々の詳細な支出に対してその他のレコードを用意するとします。 これらのレコードを関連付けることで、レコード間の接続またはリンクを確立します。 この接続により構造化されたリレーションシップが可能になり、さまざまな経費を特定の旅行記録に関連付けることができ、一貫性のある組織化されたデータセットを維持できます。
次の表は、Microsoft Dataverse の 1 つのテーブルで経費データをすべて格納する例です。
ID | 出張先 | 日付 | 出張理由 | 経費の種類 | 経費の金額 |
---|---|---|---|---|---|
1 | シアトル | 4/10/2020 | 顧客訪問 | ホテル | 205.75 |
2 | シアトル | 4/10/2020 | 顧客訪問 | 夕食 | 31.33 |
3 | シアトル | 4/10/2020 | 顧客訪問 | 航空券 | 450.54 |
4 | シンシナティ | 5/2/2020 | トレーニング | タクシー | 23.99 |
5 | シンシナティ | 5/2/2020 | トレーニング | 昼食 | 12.44 |
上記の例では、各行に出張全体の情報がすべて含まれているため、データが重複していることがわかります。 このデータを格納するための優れた方法は、親テーブルと子テーブルを用意し、2 つのエンティティ間にリレーションシップを作成することです。 次の例では、2 つのテーブルの外観について説明します。
まず、親テーブルです。1 回の出張につきエントリは 1 つのみです。
ID | 目的地 | 日付 | 出張理由 |
---|---|---|---|
1 | シアトル | 4/10/2020 | 顧客訪問 |
2 | シンシナティ | 5/2/2020 | トレーニング |
次は、子テーブルです。経費項目ごとに 1 つのエントリがあり、親レコードの参照が含まれます。
ID | 経費の種類 | 経費の金額 | 出張 ID |
---|---|---|---|
1 | ホテル | 205.75 | 1 |
2 | 夕食 | 31.33 | 1 |
3 | 航空券 | 450.54 | 1 |
4 | タクシー | 23.99 | 2 |
5 | 昼食 | 12.44 | 2 |
ここでは、経費ごとにエントリが 1 つ表示されます。 出張 ID にも新しい列があります。 この列では、親レコードのレコード ID を指定してリレーションシップを作成します。 これにより、関連付けされた出張の詳細のクエリを実行できます。
Power Apps は異なるソースからのデータ間のリレーションシップを確立する柔軟性を提供します。 たとえば、顧客情報を Dynamics 365 などの CRM システム内に保存し、営業地域を管理するために Microsoft Lists セットアップ内でそのデータを利用することができます。
Power Appsでは、営業地域リストで Dynamics 365 の顧客 ID を参照する場合、統一的なアプローチに従います。 便利なのは、これらの多様なデータ ソースを単一のアプリ内でシームレスに統合して処理できることにあります。 面倒な操作なしに複数のデータ ソースに接続して操作できるこの機能は、Power Apps がテーブルに対してもたらす多くの利点の 1 つです。 これによりプロセスが簡素化され、アプリ環境内でさまざまなソースからの情報をまとめて使用できるようになります。
メモ
Dataverse では、参照列を利用し、構造を作成して、自動的にテーブルを接続することでリレーションシップを定義できます。 これはリレーションシップの入門としては範囲外ですが、データ ソースを検討する上では注目に値します。
次のセクションでは、Power Apps でリレーションシップを使用するための関数と数式を学習します。