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