DataversePower Appsリレーションシップ関数関数解説

【PowerApps】Relate関数、Unrelate関数、とは、使い方

Dataverse

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...

コメント

タイトルとURLをコピーしました