最後にsetを付けてやる。検索列(参照列)の関連付けと値の設定」を書いたのですが、その際は1:Nの参照列を関連付ける(リレーションする)方法について記載しました。その他多対多(N:N)のリレーションがありますが、こちらの場合には参照している列というものはどちらのテーブルにもなく、関連付けテーブルが自動で作成されてそちらで情報を保持されています。通常は表面には出てこないテーブルです。Automateで参照する方法について記載します。NOTE今回はN対Nの構造などご説明していくと長尺になるので、そのあたりは認識があり、とにかく関連付いている列を取りたいんだ!という方向けの実装面メインの内容となります。Dataverseコネクタのトリガー、アクションの概要は上記で書いた記事をご参考ください。AP-09セッションで登壇させていただきました。今回は列と列を関連付ける(リレーションする)方法について記載します。...多対多(N:N)の関連付けこちらについては概要など公式ご参考ください。Learn簡単にはこの関連付けを行うと、どちらのテーブルにも検索列は出てこない(それぞれが多なので)どちらのテーブルのフォームにもサブグリッドを入れれる。そこで列の追加など操作できる。★多対多のリレーションシップを作成するとシステムが関連テーブルを自動作成します!そしてここに関連付けの情報を持っています!リレーションシップ名と別に関連テーブル名が出来る当然もう一つのテーブルにも多対多のリレーションが作られ、同じ関連テーブルを持っています。関連付けを行う場合はDataverseで用意されている関連付けるアクション(解除は解除するアクション)で出来ます。以下のように多対多のリレーションを指定して対応するレコードID、ODataIDを指定する感じです。※この部分は前回記事参考ください。(youseibubu.com)NOTEただ上記操作は可能ですが、そもそもそのレコードがどの参照レコードと関連付いているのかが取れません。※明細No10レコードが紐づく受注情報がどれなのかがレコード情報からわからない。紐づく関連レコードを取得してそれぞれに対して処理を行う場合などですかね。それが普通には出来ないのです。以下の記事で関連情報を取ってくるというものに続きます。実は海外サイトなどググっていけばたどりつくのですが、日本語の記事は見たことないので書いてます。TIPS結論:関連付け情報は(システムが用意する)関連テーブルに保持している!がそのままでは取れないので名前を調整して取得する!→最後にsetを付ける。先ほどリレーションを作成した際に表示されている関連テーブル名です。ここにデータがあります。Automateで行の一覧を取得アクションを使ってプルダウンを見てみます。入力してもそんなテーブルはないと出てきません。→カスタム値で入力します。これでもエラーとなります。そんなテーブルはないよと言われます!最後にsetを付けてやる。すると関連テーブルが取れる!実は実際には違う名前で持っているようです。要は末尾に「set」を付けてあげればOKです。多対多の1つ目の多側レコードのGUIDともうひとつの多のレコードIDが取れます。細かい使用例は割愛しますが、これをもとにメインとなるレコードのGUIDが一致しているものの一覧を取れば紐づいているレコードのGUIDの一覧が取れますね。最後にこちらの記事を外人の方が書かれてますので載せておきます。365.おわりに今回はN:N(多対多)の場合のリレーションについて、どうやって関連付けの情報を取るの?という点を解説しました。躓きそうなポイントですが、英語サイトでしか出てこないので見つけづらいですよね。テーブル名も実は調整必要だったりと厄介💦そもそも複雑化する、扱いずらくなりやすいのでN:Nのリレーション自体はやめといたほうが良いという記事もみたりしますね。この記事がお困りの方のお助けになれば幸いです。itこの記事は役に立ちましたか?もし参考になりましたら、下記のボタンで教えてください。Automate技術者へと転身。qiitaや自社HPでも技術ブログを書いていました。12月10日担当分の記事です。この後の記事も楽しみですねー。今回は列と列を関連付ける(リレーションする)方法について記載します。Apps2023.07.216Distinct関数は委任対象外なので気を付けよう。Appsの各種関数で一部委任対象外のものがあります。今回は引っかかりやすい(と思う)Distinct関数についてです。トラックバックこの記事へのコメントはありません。トラックバックURLこの記事へのトラックバックはありません。返信をキャンセルする。最後にsetを付けてやる。