Query(列の展開)について。参照先の値を取るのにGUIDからそのテーブルへ別アクションで取得が出来ますが、それせずとも一回で取れるので便利ですよ!という内容です。Dataverseコネクタのトリガー、アクションの概要については以前の記事、シリーズをご参考ください。AP-09セッションで登壇させていただきました。今回は列と列を関連付ける(リレーションする)方法について記載します。Query)についてです。簡潔に言うと、ここに参照列を指定すると、参照先(親テーブル)の他の列情報も一緒に取ってこれます。カンマ区切りで複数の指定が可能であり、また、($select=列名)で欲しい列のみ指定も可能です。以下実際に実装した場合の例です。見積テーブルへの参照列(new_mitsumori)と作成者列(createdby)を論理名で指定しています。例ではシンプルに2つをカンマ区切りで指定しており列の指定はしてません。取得結果のJSONを見ると以下のように指定した参照列のその他情報が取得出来ています。※クエリの展開をしていない場合、参照列はGUIDとプライマリ列の情報位しかとれません。取得結果のJSONを見ると指定した参照列の情報が一緒に取れている上記の参考にサンプルでは以下のようなリレーションとなっています。見積と明細が1対Nでリレーションされている。作成者列は既定であるユーザー列を参照した列で自動で作成したユーザーが入っています。動的なコンテンツで指定できるようになる!上記はJSONの結果を見ていますが、この値が動的なコンテンツで指定できるようになります。便利ですね!この例では明細の親テーブルである見積名や作成者のメールアドレスや姓名を指定してみます。参照先の列情報が指定できるようになる!上記の場合以下のような数式になってます。Code@{outputs(‘ID_で行を取得する’)?[‘body/new_mitsumori/new_name’]}@{outputs(‘ID_で行を取得する’)?[‘body/createdby/internalemailaddress’]}@{outputs(‘ID_で行を取得する’)?[‘body/createdby/lastname’]}@{outputs(‘ID_で行を取得する’)?[‘body/createdby/firstname’]}実行すると以下のように通常だと取れない参照先テーブルの情報が取れています。これで一旦自テーブルの分を取って、さらに参照先テーブルから別アクションで取ってくる。いうのが不要で一発で利用可能となります!$selectで列の指定をするのがベター(パフォーマンス的に)上記のようにシンプルに参照列を指定すれば取ってこれますが、不要な情報もいっぱいあるのでパフォーマンス的には必要な列のみを指定するのが良いですね。その場合は以下のような書式で指定します。※以前はどっちかがスキーマ名でもうひとつが論理名だったような記憶もあるのですが、いまやってみたらどちらも論理名でOKでした。違う実装の時と勘違いしていたかもです💦TIPS特に複数のレコードを取得する際などはデータ量が肥大化するので必要な列のみを指定するのがベターですね。Code<参照列の論理名>($select=(<列の論理名>,<列の論理名>,,,)上記のサンプルに利用する列の指定をしたものが以下です。Codenew_mitsumori($select=new_name),createdby($select=internalemailaddress,lastname,firstname)上記のように列を指定した場合はその列のみ取得され、動的なコンテンツでも指定した列のみが追加で表示されます。所有者列は対応しない(ユーザーORチームだから)よく利用する所有者列に対して上記を行った場合はエラーにはならないですが取って来てくれません。これはOwner列はユーザーまたはチームが入る可能性があり参照先がユーザーテーブルまたはチームテーブルになるためだと思います。このような特別な列の場合は、対象テーブルへGUIDで取得する別アクションでの対応が必要です。おわりに前回のシリーズ記事からだいぶ空きましたが、久しぶりにこの辺りを触って思い出したので記事にしました。Queryを活用するとパフォーマンス向上、実装もスマート、アクションも減るといい事だらけです。サンプルのように親テーブルの情報やユーザーのメール取得など色々活用できます。itこの記事は役に立ちましたか?もし参考になりましたら、下記のボタンで教えてください。Automate技術者へと転身。qiitaや自社HPでも技術ブログを書いていました。12月10日担当分の記事です。この後の記事も楽しみですねー。ビューのキーワードによるフィルタ(簡易検索ビュー)モデル駆動型アプリでビューの右上に出てくるキーワードによるフィルター検索部分ですが、標準だとプライマリ列くらいしかヒットしません。どこを設定すれば良いのか?という質問をちょいちょい目にしてたので記事にしました。12月15日担当分の記事です。(シリーズ2)この後の記事も楽しみですねー。AutomateでSPOからフォルダをZip化してダウンロードする実装の記事です。ポールさん)を見てまねて作成。改良を加えた内容の話です。Apps2023.10.063自分のアプリID、アプリURLなどを取得する方法を調べてみたはじめにParam関数の記事で触れた今のアプリのアプリIDやURLなどの情報を動的に取得できないのか?を改めて調べてみてました。結果、出来なくはないが完全ではなさそう。したらうまいやり方があるかもしれないのですが、とりあえず自分はやらなくていいかな。追加調査更新)はじめに先日検証していて、以下参考URLにあるSPOでの「パス(フォルダ名+ファイル名)が長すぎるとファイル作成でエラーが発生」事象が解消した(と思われる)ので共有です。検証しながら記事を書いていたら、最後の方法でサクッと解消できたのでそれ以外は備忘録的な内容となります。トラックバックこの記事へのコメントはありません。トラックバックURLこの記事へのトラックバックはありません。返信をキャンセルする。