検索列(参照列)のフィルター指定」を書いたのですが、その際は参照列の構成とフィルターで指定する際の方法を記事にしました。今回は列と列を関連付ける(リレーションする)方法について記載します。Dataverseコネクタのトリガー、アクションの概要は上記で書いた記事をご参考ください。AP-09セッションで登壇させていただきました。今回はDataverseトリガーで少しクセがありつまづきポイントだなーと思う、検索列(参照列)でのフィルターの書き方について記事にしました。Teamsでも基本同様の内容となりますので、そちらの実装の場合の参考ともなるかと思います。検索列について検索列については以前の記事で解説していますのでそちらをご参照ください。(youseibubu.com)要は他のテーブルとリレーションを組むものなんですが、基本的には1:NとN:Nのリレーションが存在します。この1:NのN側には1の列を参照する検索列が用意されます。N:Nの場合はどちらも複数なので検索列は用意されません。(N:Nはもっと構造が複雑なのでまた別の機会にでも)上の図でいうと、明細テーブルは見積を親として一つ参照しているイメージです。この場合は明細テーブル側に見積テーブルへの参照列が存在します。明細テーブルのリレーションシップ画面で見ると以下のように見積に対して(明細からみて)N:1のリレーションが張られています。見積テーブル側にも同様に(見積側からみて)1:Nのリレーションが張られています。1:NのN側には検索列が作成されています。先に検索列を作った場合は上記のリレーションがあわせて張られる挙動です。列を見ると以下のように検索列となっています。詳細では関連テーブル(リレーション先)や列の論理名などが確認できます。検索列の値(参照先のレコード)をAutomateで指定する方法これは2パターンありまして、ひとつは用意されているアクションを使うパターン、もう一つは他の列種別と同様に作成や更新時アクションで参照先の値を指定する方法です。行を関連付ける、解除するアクションレコードの作成や更新で値を指定する行を関連付けるアクション「行を関連付ける」1:Nのリレーションで1側のテーブルを指定する必要があります。今回の例だと明細テーブルではなく見積テーブルとなります。NOTEN側(子供)のテーブルを指定しても出来ないので間違いないように。このアクションの場合は1側(親)のテーブル側からの設定になります。リレーションしているものが表示されるので選択します。・IDには見積テーブルのレコードの一意識別子(テーブルと同じ名前の列)の値を指定します。動的な要素の場合ならテーブルと同じ名前の一意識別子(GUID)を指定すればOKです。見積テーブルの場合は見積ですね。IDというものになります。こちらも事前に情報を取得すれば動的コンテンツから指定できます。IDを動的コンテンツで指定しています。上記で実行すると一覧で取得した明細のリレーション先が指定した見積となり、以下のように関連付いて表示ができますね。「行を関連付けを解除する」こちら関連付けを解除するアクションです。同様の項目、設定値をしていすればリレーションが解除されます。通常のレコードの作成・更新アクションでも他の項目と合わせて検索列を指定して更新が可能です。この記載方法がちょっとクセがあります。ここは初学者のつまづきポイントです。TIPS結果から言うと、参照先テーブルのセット名[EntitySetName](参照先レコードのGUID)という形式で指定が必要です。普通のテーブル論理名ではなく、複数形のテーブル論理名と同じとなっています。実際にはこれではなく[EntitySetName]というのが使われます。カスタム作成したテーブルだと列名には接頭辞が付きますし、日本語だとそもそも画面では複数系の名前も普通のテーブルと同じ名前になっていてこの情報がわかりません。形式的には接頭辞が付いたテーブル名の複数形の名前ですべて小文字となります。この辺りは有識者の方が記事にされていますので気になる方はご参考ください。基本は末尾を複数形にしたら行けるって感じでした。勘でsやes付けたりして対応したりもwwいまだとこのセット名を取得とすれば一発で取れます。TIPSテーブル>対象テーブル>ツール>セット名をコピーする上記のユーザーテーブルの場合は「systemusers」が取れます。今回の見積テーブルの場合は「new_mitsumoris」が取れました。想定どおりテーブルの論理名が「new_mitsumori」なので末尾に複数形のsが付いた感じですね。※意味のないローマ字なら大体末尾にs、英語で意味ある場合は文脈によりesだったりするということで、この見積テーブル用のセット名を使って検索列を指定してみます。行の一覧では明細を取得→3件までにしてます。行を更新するで見積列には以下を指定Code//見積(検索列)の設定値new_mitsumoris(@{outputs(‘ID_で行を取得する’)?[‘body/new_mitsumoriid’]})※セット名(参照先のレコードGUID)そうすると3つ指定した明細が指定した見積に1:Nで紐づきて表示されています。使うと思いますが、ユーザーを指定する場合はsystemusers(ユーザーのGUID)で指定すればOKです。Code//ユーザーを指定する場合systemusers(ユーザーのGUID)チームの指定はteams(チームのGUID)また所有者列にはチームを入れることもあります。チームにしたい場合はteams(チームのGUID)とすればOKです。以下はサンプルでAAAという所有者チームを作って指定した場合です。Code//チームを指定する場合teams(チームのGUID)作成したAAAチームのGUIDを指定いずれもテーブルのセット名のコピーから取得できるのでわかってしまえば簡単ですね!おわりにということで今回は検索列(参照列)の設定についてのパターンと作成・更新時のポイントなどを記事にしました。ユーザー列を指定しようとする場合にあれ?普通に書いてもエラーなんだけども。初見者泣かせの部分ですのでこの記事がお役に立てれば幸いです。してもDynamicsから来ている仕様で裏っかわが複雑だったりするのですが、いまはモダンのデザイナーもどんどん使いやすくなってきているので、ポイントを押さえておけばおおむね対応できるかと思います。それでは!関連モデル駆動型のカスタマイズ(カスタムページ・コマンドバー)で登壇しました。itこの記事は役に立ちましたか?もし参考になりましたら、下記のボタンで教えてください。Automate技術者へと転身。qiitaや自社HPでも技術ブログを書いていました。Query(列の展開)について。計算式の列を指定してもトリガーされません。検証した時点ではトリガーに指定を入れるとその後の挙動もおかしくなるケースがあったので記事にしました。回避方法はじめにこの記事は以下の関連記事から派生して記載しています。内容は以下の記事内に書いているのですが、検索で出やすいように、パスが長い(フォルダ名+ファイル名)場合にファイルコンテンツの取得でエラーとなるケースの解消部分をリライトしたものです。今回はDataverseトリガーで少しクセがありつまづきポイントだなーと思う、検索列(参照列)でのフィルターの書き方について記事にしました。(メンテナンスモード、URL、アドレスなど)はじめに今回はキャンバスアプリを使用する際、アプリ自体の設定項目を管理するリストの作成・使用例についてご紹介します。開発ではよく開発環境で開発→検証環境で検証→本番環境で運用という感じでアプリを移送して運用します。いった場合にその環境ごとに変わる値があります。トラックバックこの記事へのコメントはありません。トラックバックURLこの記事へのトラックバックはありません。返信をキャンセルする。