Dataverseでレコード同士をリレーションするためのRelate関数とUnrelate関数を紹介します。
Relate関数、Unrelate関数
一対多または多対多のリレーションシップを通じて 2 つのテーブルのレコードを関連付けおよび関連付け解除します。
公式より引用
構文
Relate( Table1RelatedTable, Table2Record )
Table1RelatedTable - 親テーブルのリレーション対象列
Table2Record - 子テーブルのリレーション対象レコード
Unrelate( Table1RelatedTable, Table2Record )
Table1RelatedTable - 親テーブルのリレーション解除対象列
Table2Record - 子テーブルのリレーション解除対象レコード
使い方
以下の2つのDataverseテーブルをリレーション・リレーション解除します。
+---------------------------+ 1:N +-------------------------+
| 顧客テーブル | <---------- | 注文テーブル |
|---------------------------| |-------------------------|
| - 顧客の名前 | | - 注文番号 |
| - メールアドレス | | - 注文日付 |
| - 住所 | | |
+---------------------------+ +--------------------------+
リレーション
画面左は顧客テーブルをテーブルで表示、画面中央は注文テーブルをテーブルで表示しています。
リレーションボタンに以下の数式を設定します。
Relate(PowerAppsOneGridCustomer.Selected.注文, PowerAppsOneGridOrder.Selected)
リレーションしたいレコードを選択してリレーションボタンをクリックします。
顧客テーブルのAレコードと注文テーブルのA1レコードがリレーションされました。
リレーション解除
新しく追加したリレーション解除ボタンに以下の数式を設定します。
Unrelate(PowerAppsOneGridCustomer.Selected.注文, PowerAppsOneGridOrder.Selected)
リレーション解除するレコードを選択してリレーション解除ボタンを選択します。
顧客テーブルのAレコードと注文テーブルのA1レコードのリレーションが解除されました。
増分更新・減分更新
Relate関数はリレーションの置き換えを行うことができないため、増分と減分それぞれにRelate関数とUnrelate関数を適用する必要があります。
以下の方法を参考にリレーションシップの置き換え処理を実装してください。
【Power Apps】リレーションの増分・減分更新
Relate関数はリレーション設定、Unrelate関数はリレーション解除しかできないため、N側を更新する際に工夫が必要です。Power Appsで増分・減分を取得するテクニックを用いて、Relate...
コメント