ソリューション エクスプローラーを使用して 1:N (一対多) または N:1 (多対一) のテーブルの関連付けを作成および編集する

ソリューション エクスプローラーは、Microsoft Dataverse の 1:N (一対多) または N:1 (多対一) のテーブルの関連付けを作成および編集することができます。

Power Apps ポータル ではほとんどの一般的なオプションを構成することができますが、ソリューション エクスプローラーを使用して設定する必要があるオプションもあります。 詳細:

ソリューション エクスプローラーを開きます

作成したカスタム リレーションシップの名前には、カスタマイズ プレフィックスが含まれます。 これは、作業中のソリューションの発行者に基づいて設定されます。 カスタマイズ プレフィックスを重視する場合は、このテーブルに使用したいカスタマイズ プレフィックスが設定されているアンマネージド ソリューションで作業していることを確認してください。 詳細: ソリューション発行者の接頭辞を変更する

アンマネージド ソリューションを開く

  1. Power Apps の左ナビゲーション ペインからソリューションを選択し、ツール バーのクラシックに切り替えを選択します。 項目がサイド パネル ウィンドウに表示されない場合は、…さらに表示 を選択して、目的の項目を選択します。

  2. すべてのソリューション リストから、必要な [アンマネージド ソリューション] を開きます。

テーブルの関連付けを表示する

ソリューション エクスプローラーで テーブル を展開し、テーブルを選択します。 そのテーブル内で、1:N の関連付け または N:1 の関連付け を選択します

テーブルの関連付けを表示します。

関連付けの作成

テーブルの関連付けを表示 しているとき、コマンド バーから 新しい一対多関連付け または 新しい多対一関連付け を選択します。

注

コマンドを使用できない場合は、テーブルは、カスタムの関連付けを作成する権限がありません。

いずれのオプションでも次のようなフォームが開きます。 違いは、プライマリ テーブル と 関連テーブル 列のどちらが設定されるかです。

新しい一対多関連付けフォーム。

  • 1:N の関連付け では、プライマリ テーブル が現在のテーブルに設定されます
  • N:1 の関連付け では、関連テーブル が現在のテーブルに設定されます

以下の列は、テーブルの関連付けを保存するために設定する必要があります:

必須の列 内容
プライマリ テーブル このテーブルは、関連テーブルで作成される検索列のターゲットの種類となります。
関連テーブル このテーブルには、テーブル行をプライマリ テーブル行と関連付けるために検索列が追加されます。
名前 リレーションシップの名前。 プライマリ テーブルおよび関連テーブルの値に基づいて値が生成されます。 この列には、ソリューション発行元のカスタマイズ プレフィックスが付けられます。
検索列の表示名 関連テーブル用に作成される検索列のローカライズ可能なテキスト。 通常は、プライマリ テーブルの表示名と同じです。
これは後で変更できます。
検索列の名前 関連テーブルに作成される検索列の名前。 検索列の表示名 に基づいて値が生成されます。 この列には、ソリューション発行元のカスタマイズ プレフィックスが付加されます。

Important

ルックアップ列に値が設定されている場合、Dataverse は参照を含む次の情報をテーブルに返します。

参照列を含むレコードにアクセスできるユーザーは、関連するレコードを表示する権限がない場合でも、プライマリ名の値を表示できます。 機密情報はプライマリ名列に格納しないでください。

[テーブルの関連付けを保存] ボタン。 をクリックしてテーブルを保存し、編集を続行できます。 詳細情報: 関連付けの編集

注

名前 または 検索列の名前 の値のいずれかが既にシステムに存在する場合、保存するとエラーが表示されます。 一意になるように値を編集して再試行します。

関連付けの編集

テーブルの関連付けを表示 しているときに、編集するテーブルを選択します。 次のテーブルの関連付けのプロパティは、関連付けを作成してから編集できます。

注

マネージド ソリューションの発行者は、ソリューションの一部として関連付けの一部のカスタマイズを回避できます。

テーブルの関連付けのプロパティ

これらのプロパティは、関連付けに関するものです。

カラム グラフ 内容
検索可能 この関連付けがモデル駆動型アプリの高度な検索に表示されるかどうか。 業務上重要でない関連付けの場合は、いいえ を選択します。
階層型 このオプションは、自己参照の関連付けでのみ有効になります。 テーブルの階層を定義するためにテーブルを検討すべきかどうか。
重要: このプロパティを設定すると、このプロパティに依存するようにロールアップ列、プロセス、ビューを構成できる場合があります。 この値を後で変更した場合、階層に依存する機能は機能しません。
詳細情報: 階層的に関連するデータを定義およびクエリする

検索列

関連テーブルで作成された検索列のプロパティです。 プロパティは、ここで編集するか、検索列を直接編集することで編集できます。 一部の列プロパティでは関連付けから編集をすることができません。 詳細: 列の編集

カラム グラフ 内容
表示名 関連テーブル用に作成される検索列のローカライズ可能なテキスト。
列の要件 モデル駆動型アプリ内のフォームを保存する前に列にデータが必要かどうか。 詳細情報: 列の要件オプション
説明 列の目的に関するユーザーへの指示を入力します。 これらの説明は、列のラベルにマウス ポインターを置いたときに、モデル駆動型アプリのユーザーに対してツールヒントとして表示されます。

関連する行を表示するために、プライマリ テーブルから移動できます。 このデータは、関連テーブル行の表示方法を制御するために、モデル駆動型アプリにより使用されます。 これらの設定は、フォーム エディターを使用しても編集できます。

カラム グラフ 内容
表示オプション 関連テーブルの一覧を表示する方法。 詳細情報: 表示オプション
カスタム ラベル 表示オプション として カスタム ラベルを使用する を選択した場合に、複数名の代わりに使用するローカライズ可能なテキストを指定します。
表示領域 この一覧を表示するために使用できるグループの 1 つを選択します。 使用可能なオプションは 詳細 (共通 グループ用)、マーケティング、営業、および サービス です。
表示順序 ナビゲーション アイテムが選択した表示領域のどこに含まれるかを制御します。 指定できる値の範囲は 10,000 から始まります。 値の小さいナビゲーション ウィンドウ項目は、値の大きい他の関係よりも上に表示されます。

表示オプション

これらは、使用可能な表示オプションです。

オプション 内容
表示しない この関連付けの関連テーブルを表示しません。
カスタム ラベルを使用する このオプションを選択すると、カスタム ラベル 列が有効になり、複数名の代わりに使用されるローカライズ可能なテキストを指定できます。
複数形の名前を使用する 関連テーブルに定義した複数形の表示名を使用します。

関連付け動作

ここでは、関連テーブルの標準動作を定義できます。 この情報は、データ整合性が確保され、会社の業務プロセスを自動化できるため重要です。

例を見てみましょう。

新しい営業担当者がいて、別の営業担当者に割り当てている既存の営業案件をその新しい営業担当者に割り当てると仮定します。 各営業案件行には、それに関連付けられたいくつかのタスク活動があります。 再割り当てしたいアクティブな案件を簡単に見つけて、新しい営業担当者に割り当てることができます。 では、営業案件に関連付けられているタスク活動はどう扱われるべきでしょうか。 各タスクを開き、新しい営業担当者に割り当てるかどうかを一つずつ考慮したいですか。 したくないでしょう。 その代わり、関連付けが標準規則を自動的に適用するようにできます。 これらの規則は再割り当てする営業案件に関連付けられているタスク行にのみ適用されます。 次のオプションがあります。

  • すべてのアクティブなタスクを再割り当てする。
  • すべてのタスクを再割り当てします。
  • タスクを全く再割り当てしません。
  • 現時点では、すべてのタスクを営業案件の以前の所有者に再割り当てします。

関連付けは、プライマリ テーブル行の行で実行されたアクションが、関連テーブル行にどのようにカスケードされるかを制御できます。

特定の操作を実行するときに適用できる複数の種類の動作があります。

動作

これらは、構成可能な動作です。

動作 内容
アクティブのカスケード すべてのアクティブな関連テーブル行でアクションを実行します。
すべてカスケード すべての関連テーブル行でアクションを実行します。
カスケード なし 何もしません。
関連付けの解除 関連するすべての行の検索値を削除します。
制限 関連テーブル行が存在する場合に、プライマリ テーブル行が削除されないようにします。
ユーザーの所有をカスケード プライマリ テーブル行と同じユーザーによって所有されているすべての関連テーブル行でアクションを実行します。

アクション​​

これらは、特定の動作をトリガーできる操作です。

カラム グラフ 内容 オプション
割り当て プライマリ テーブル行が他のユーザーに割り当てられた場合、どうなりますか? すべてにカスケード
アクティブなカスケード
ユーザーの所有をカスケード
カスケードなし
リペアレント 親子関係にある関連テーブルのルックアップ値が変更された場合、どうなるべきですか?
詳細: 親テーブルのリレーションシップ
すべてにカスケード
アクティブカスケード
同一所有者のレコードのみに伝播
カスケードなし
共有 プライマリ テーブル行が共有されると、どうなりますか? すべてにカスケード
アクティブ状態のカスケード
ユーザーの所有をカスケード
カスケードなし
削除 プライマリ テーブル行が削除されると、どうなりますか? すべてにカスケード
リンクを削除
制限
共有の解除 プライマリ テーブル行の共有が解除されると、どうなりますか? すべてにカスケード
アクティブのカスケード
ユーザー所有のカスケード
カスケードなし
統合 プライマリ テーブル行が結合されると、どうなりますか? すべてにカスケード
カスケードなし
ロールアップ ビュー このリレーションシップに関連付けられたロールアップ ビューの望ましい動作は何ですか。 すべてにカスケード
カスケード有効
ユーザー所有のカスケード
カスケードなし

動作タイプのオプション

動作の種類 列を使用して、一連の標準の動作を選択するか、個別に構成するかを選択します。

オプション 内容
親 割り当てる: すべてにカスケード
リペアレント: すべてのレコードに伝播
共有: すべてにカスケード
削除: すべてを連鎖削除
共有の解除: すべてにカスケード
マージ: カスケードなし
ロールアップ ビュー: 伝播しない | すべてに伝播
参照 割り当て: カスケードなし
リペアレント: 伝播しない
共有: カスケードなし
削除: 関連付けの解除
共有の解除: 伝播しない
マージ: カスケードなし
ロールアップ ビュー: カスケードしない | すべてにカスケード
参照、削除制限 割り当て: カスケードなし
リペアレント: 伝播しない
共有: カスケード なし
削除: 制限する
共有解除: カスケードなし
マージ: カスケード なし
ロールアップビュー: カスケードなし | すべてカスケード
設定可能なカスケード 使用できるオプションによって各アクションごとに目的の動作を構成できます。

注

いずれかのテーブルがすでに親子テーブルのリレーションシップに含まれている場合、親 オプションを選択できないことがあります。 詳細情報: 親子テーブルの関係

構成可能な伝播 を使用して、別の動作の種類と関連付けられたアクションに対する動作と一致するように、アクションに対する動作を設定する場合、関連付けを保存すると、動作の種類が他の種類に自動的に設定されます。

関連付けの削除

テーブルの関連付けの表示中に、削除するテーブルの関連付けを選択し、削除 コマンドをクリックします

関連付けを削除すると、関連テーブルの検索列が削除されます。

注

依存関係がある関連付けは削除できません。 たとえば、関連テーブルのフォームに検索列を追加した場合は、関連付けを削除する前に列をフォームから削除する必要があります。

テーブルの上位下位の関連付け

1:N の関連付けを持つことができる各テーブルのペアは、それらの間に複数の 1:N の関連付けを持つことができます。 しかし、通常は、そのような関連付けの中の 1 つだけが、テーブルの上位下位の関連付けであると考えられます。

親子テーブル関係とは、次の表の Parental 列にあるカスケード オプションのいずれかが true に設定されている 1:N のテーブル関係のことです。

アクション 保護者 親ではない
割り当て すべてにカスケード
ユーザーの所有をカスケード
カスケード有効
カスケードなし
削除 すべてにカスケード リンクの解除
制限
リペアレント すべてにカスケード
ユーザー所有のカスケード
アクティブをカスケード
カスケード なし
共有 すべてにカスケード
ユーザーの所有をカスケード
アクティブカスケード
カスケードなし
共有の解除 すべてにカスケード
カスケード ユーザー所有
カスケード有効
カスケード なし

たとえば、新しいカスタム テーブルを作成し、カスタム テーブルを関連テーブルとして取引先企業テーブルとの 1:N のテーブル関係を追加した場合、そのテーブル関係のアクションは Parental 列のオプションを使用するように構成できます。 後で、カスタム テーブルを参照テーブルとして別の 1:N テーブル リレーションシップを追加する場合、構成できるアクションは 親子関係なし 列のオプションを使用するものだけです。

通常、これは各テーブル ペアについては親子関係が 1 つだけ存在するということです。 関連テーブルの検索では、複数の種類のテーブルに対して、関連付けが可能な場合があります。

たとえば、テーブルに顧客検索がある場合、取引先担当者または取引先企業テーブルを参照できます。 2 つの別個の親子 1:N テーブル リレーションシップがあります。

すべてのアクティビティ テーブルには、regarding ルックアップ列を使用して関連付けることができるテーブルについて、同様の一連の親テーブル リレーションシップがあります。

設定できる動作の制限

親子関係があるため、テーブルの関連付けを定義する際には、いくつかの制限があることを念頭に置いてください。

  • カスタム テーブルは、カスケードする関連システム テーブルとの関連付けで、プライマリ テーブルにすることはできません。 つまり、プライマリ カスタム テーブルと関連システム テーブル間で、すべてにカスケード、アクティブにカスケード、または ユーザー所有にカスケード に設定されたアクションとの関連付けを設定できません。
  • そのリレーションシップの関連テーブルが、いずれかのアクションが Cascade All、Cascade Active、または Cascade User-Owned に設定された別のリレーションシップの関連テーブルとしてすでに存在する場合、新しいリレーションシップでは、いずれのアクションも Cascade All、Cascade Active、または Cascade User-Owned に設定できません。 これにより、複数の親を持つ関係を生じさせる関係の作成を防ぎます。

関連項目

テーブル間の関連付けの作成と編集
1:N (一対多) または N:1 (多対一) の関連付けを作成および編集する
Power Apps ポータルにおける 1:N (一対多) または N:1 (多対一) のテーブルの関連付けを作成および編集する
N:N (多対多) の関連付けを作成する