テーブル間の多対多のリレーションシップの作成
このユニットでは、Microsoft Dataverse で次の手順を使用して多対多のリレーションシップを実装する方法を示します。
多対多のリレーションシップ
一対多のテーブル リレーションシップでは、行間に階層が確立されます。 多対多 (N:N) のリレーションシップでは、構成する明示的な階層がなく、検索列や動作もありません。 多対多のリレーションシップを使用して作成された行は同等であると考えられ、このリレーションシップは相互的なものです。
多対多のリレーションシップでは、リレーションシップ (または交差する) テーブルには、テーブルを関連付けるデータが格納されます。 このテーブルには、関連テーブルの両方で一対多のテーブル リレーションシップがあり、リレーションシップの定義に必要となる値のみを格納します。
重要
交差テーブルはユーザーには表示されません。 さらに重要なのは、行が互いに関連付けられているとき、または関連付けが解除されているときは、交差テーブルに列を追加したり、ワークフローや Power Automate クラウド フローをトリガーしたりすることができないことです。
多対多のリレーションシップを作成するには、リレーションシップに参加する 2 つのテーブルを選択する必要があります。 これらは、一対多のテーブル リレーションシップで主テーブルに使用されるオプションと同じです。
ヒント
すべてのテーブルが、多対多のリレーションシップで使用できるわけではありません。 テーブルがデザイナーに一覧表示されていない場合は、このテーブルで多対多のリレーションシップを新しく作成することはできません。
多対多のリレーションシップを作成する必要がある場合は、次の手順を実行します。
Power Appsメーカー ポータルにサインインします
テーブルを選択して、作成するリレーションシップのいずれかのテーブルを選択します。
スキーマ ウィンドウからリレーションシップを選択します。
コマンド バーのドロップダウンから + 新しいリレーションシップと多対多を選択します。
多対多ウィンドウで、現在の (多) テーブルに関連する (多) テーブルを選択します。
完了をクリックして、新しい多対多のリレーションシップを保存します。
以上で、アプリで多対多のリレーションシップを使用できるようになります。
ヒント
テーブルが作成された後、多対多のリレーションシップで編集を行うことはできません。削除のみ行えます。
つながり
リレーションシップを作成するには、計画と管理の作業が必要です。 Dataverse を使用すると、テーブルのリレーションシップを作成せずにテーブル行の間のつながりを定義できます。 つながりを使用すると、ユーザーは行の間に名前付きリンクを確立して、正式ではないリレーションシップを確立できますが、これは実際のテーブル リレーションシップの作成を正当化するものではありません。
たとえば、取引先企業と取引先担当者のつながりには、従業員、役員、株主、顧客、仕入先などが含まれる場合があります。また、子と親、夫と妻、医師と患者など、相互的なつながりもあります。
ユーザーがテーブルの行につながりを作成するには、テーブルのプロパティで接続可能を有効にします。
つながりを作成すると、ユーザーはほぼすべての 2 つの行の間の関連を記録し、レコードが相互リンクされているつながりを説明する追加情報を提供することができます。
2 つの行の間のリレーションシップに名前を付けて説明を提供するには、つながりロールを使用します。 Dataverse には、雇用主や元雇用主などのつながりロールが含まれます。 これらのつながりロールを削除して、独自のつながりロールを作成することができます。
注
つながりロールはソリューション内に含めることができます。