一対多または多対一のテーブル リレーションシップを持つテーブル間で、列 (属性とも呼ばれます) をマップできます。 列マッピングを使用すると、別の行のコンテキストで作成された行の既定値を設定できます。
特定の取引先企業の従業員に新しい取引先担当者行を追加すると仮定します。 2 つの方法でできます。
- アプリを操作して取引先担当者を一から作成するとなると、難易度が高くなります。 しかし、その場合、親アカウントを設定し、住所や電話番号など、おそらく親アカウントと同じであろういくつかの項目の情報を入力する必要があるため、時間がかかり、誤りが発生する可能性があります。
- より簡単な方法は、取引先企業テーブルから始めて、フォームの取引先担当者サブグリッドから + を選択して取引先担当者を追加することです。 インターフェイスではまず、既存の取引先担当者を検索し、誤って重複した行を作成しないようにガイドします。 既存の行が見つからなければ、新規を選択して、新しい取引先担当者行を作成することができます。 新しい取引先担当者行フォームには、既定値として取引先企業からマップした属性値 (住所や電話番号など) が含まれています。 ユーザーは行を保存する前に、これらの値を編集できます。
1:N テーブル関連付けのテーブル列をマッピングすると、主テーブル行から取られたデータの特定の項目が新しい関連テーブル フォームにコピーされ、保存する前に編集できる既定値が設定されます。
注意
- これらのマッピングは、保存を行う前の行に既定値を設定するだけです。 保存する前に値を編集できます。 転送されるデータは、その時点のデータです。 ソース データが後で変更された場合、データは同期されません。
- これらのマッピングは、ワークフローとダイアログ プロセスを使用して作成された関連行に適用されません。 開発者が使用可能なマッピングを使用して新しい行を作成するのに
InitializeFrom
(InitializeFrom 関数 または InitializeFromRequest クラス) と呼ばれる特別なマッピングを使用しても、これらのマッピングはコードを使用して作成された新しいレコードに自動的には適用されません。 - これらのマッピングは、アプリが Microsoft Dataverse へのアクティブなネットワーク接続を持っていないときに開かれる新しい関連テーブル フォームには適用されません。
- アプリをオフライン モードで使用している場合、テーブル間の列マッピングはサポートされません。 詳細については、モデル駆動型アプリのモバイル オフラインの制限に記載されている制限を参照してください。
マップ可能な列を確認する
列のマッピングは、1:N または N:1 のテーブルの関連付けのコンテキストで行われるため、最初に 1:N または N:1 テーブル関係を表示する必要があります。
テーブル列を表示し、マッピングする唯一の方法は、従来のソリューション エクスプローラを使用することです。
- Power Apps にログインし、必要な環境を選択します。
- 左パネルで、ソリューション を選択して、必要なソリューションを開きます。
- コマンド バーでクラシックに切り替えを選択します。 ソリューションは、クラシックなソリューション エクスプローラーで開きます。
- エンティティを展開し、目的のテーブルを展開し、リレーションシップ タイプ (1:N リレーションシップまたは N:1 リレーションシップ) を展開し、列マッピングを表示または編集するリレーションシップを開きます。
- 列のマッピングは実際にはテーブル リレーションシップの中で定義されるわけではありませんが、クラシックのソリューション エクスプローラのリレーションシップ ユーザー インターフェイスで公開されます。 すべての 1:N のテーブル関係にあるわけではありません。 ドロップダウン リストのタイプで、マップ可能 を選択して、マッピング可能な列を持つリレーションシップのみを表示します。
- 列マッピングを表示または編集するリレーションシップをダブルクリックします。 ブラウザー ページが開き、リレーションシップのプロパティが表示されます。
- 左のナビゲーション バーで、マッピング タブを選択します。 関係のマッピングが表示されます。
新しいマッピングを追加する
-
マッピング列の表示において、コマンド バーで新規を選択します。
フィールド マッピングの作成 ダイアログが表示されます。
- 取引先企業と取引先担当者テーブルのリレーションシップの address1_city など、マッピングする値を持つソース テーブル列とターゲット テーブル列を 1 つずつ選択します。
- OK を選択してダイアログを閉じます。
- 列マッピングがメタデータではないため、変更を有効にするには公開する必要があります。
自動的な列マッピングの生成
その他の操作 メニューから マッピングの生成 を選択しても、マッピングを自動的に生成できます。
カスタム テーブルを作成し、マッピングを活用したい場合は、マッピングの生成を使用します。 ただし、システム テーブルを使用してマッピングを自動生成する場合は、既定のマッピングを置き換えることになるため、問題が発生する可能性があるので注意してください。
警告
マッピングの生成 を使用してマッピングを自動的に生成すると、既存のマッピングが削除され、名前とデータ型が似ている列のみに基づいたマッピング候補に置き換えられます。 システム テーブルで使用している場合は、必要なマッピングを失う場合があります。 ユーザー定義テーブルの場合、不要なマッピングを容易に削除し、マッピングの生成操作で作成されなかったそのほかのものを追加できるので時間を節約できます。
データの種類とマッピングのルール
次の規則は、マッピングできるデータの種類を示します。
- 両方の列が同じ種類で、同じ形式である必要があります。
- ターゲット列の長さが、ソース列の長さと同じかそれ以上である必要があります。
- ターゲット列が、別の列にまだマップされていない必要があります。
- ソース列がフォーム上で表示可能である必要があります。
- ターゲット列が、ユーザーがデータを入力可能な列である必要があります。
-
partylist
タイプのアドレス ID 値、または列はマッピングできません。 - フォームに表示されていない列との間でマップを行った場合、列がフォームに追加されるまで、マッピングは行われません。
- 列が候補リストの場合、各オプションの整数値が同一である必要があります。
注意
オプション列をマッピングする必要がある場合、同じグローバル オプション セットを使用するように両方の列を構成するようお勧めします。 そうしないと、別々の 2 種類のオプションのセットの同期を手動で保つことが難しくなります。 各オプションの整数値が正しくマップされていない場合、データに問題が発生することがあります。 詳細情報: Microsoft Dataverse (ピックリスト) のグローバル選択肢の作成と編集
マッピングを削除する
適用したくないマッピングがある場合は、それらを選択して、 を選択します。
参照
ソリューション エクスプローラーを使用して 1:N (一対多) または N:1 (多対一) のテーブルの関連付けを作成および編集する
開発者ドキュメント: テーブル マッピングおよび属性マッピングのカスタマイズ
開発者ドキュメント: Web API 別のテーブルから新しいテーブルを作成する