Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Dataverseの検索列について
Search
MiyakeMito
April 26, 2025
Technology
2.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Dataverseの検索列について
MiyakeMito
April 26, 2025
More Decks by MiyakeMito
See All by MiyakeMito
Power Automateアップデート情報
miyakemito
0
400
マルチステージとAI承認について
miyakemito
1
220
Copilot Studioについて
miyakemito
8
10k
AI Builder について
miyakemito
3
1.2k
Microsoft Copilot Studio についてざっくり説明
miyakemito
2
1.9k
Power Automateのデータ操作(Data Operation)について (Ver.モダンデザイナー)
miyakemito
5
4.2k
JSON攻略法.pdf
miyakemito
13
7.4k
ガンダムBotを1分でつくってみせろよ
miyakemito
1
940
Microsoft Copilot Studio について
miyakemito
0
8.6k
Other Decks in Technology
See All in Technology
hackers_champloo_2026_tidb
makocchi
0
160
パッチ更新でterraform initが落ちた日
grimoh
1
140
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
190
スプシの手作業からの解脱 ~更新はClaude Codeに、見せ方と使い方はGASアプリに任せる~
kentarofujii
0
150
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
120
実践! SRE × AI - ABEMA における AIOps -
tetsuya28
8
3.1k
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
0
130
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
550
We Are The Robots
honzajavorek
0
400
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
How GitHub (no longer) Works
holman
316
150k
Bash Introduction
62gerente
615
220k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
550
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
520
Transcript
Dataverse の 検索列について 気ままに勉強会 #110 1
今日の目標 Dataverse の検索列を 使いこなそう 2
アジェンダ Microsoft Dataverse トリガー Microsoft Dataverse アクション Dataverse 検索列とは Dataverse
検索列のCRUD Power Automate編 Dataverse 検索列のCRUD Power Apps編 Dataverse 選択肢列とは Dataverse 選択肢列のCRUD Power Automate編 Dataverse 選択肢列のCRUD Power Apps編 3
Miyake @MiTo60448639 https://qiita.com/MiyakeMito 株式会社アイシーソフト Technical Manager www.icsoft.jp https://speakerdeck.com/miya kemito 4
免責事項 当スライドは、 2025年4月現在のバージョンでの情報です 今後のアップデート等により、 仕様変更する可能性があります また、私の見解による内容が含まれます 間違いなどありましたらご指摘ください 6
Microsoft Dataverse トリガー
Microsoft Dataverse のトリガー 8 このトリガーにより、ビジネス プロセス フローのス テップで [フローの実行] ボタンがクリックされた時に、
フローを開始できます。 Microsoft Dataverse アクションの完了時にトリガーしま す。 このトリガーを使用すると、Microsoft Dataverse テーブ ルで行が追加、変更、または削除された場合に、選択し たオプションと一致するフローを開始できます。 コマンド バーの [フロー] メニューで行が選択されたとき にフローをトリガーします。
Microsoft Dataverse アクション
この操作により、Microsoft Dataverse テーブルの ID と一致する行を取得します。 10 この操作により、選択した Microsoft Dataverse テーブルに新しい行を追加します。
この操作により、関連性検索で Microsoft Dataverse 環境を検索して、検索語句に最 も近い行を取得します。 このアクションにより、Microsoft Dataverse テーブルの選択した行を変更できます。 Microsoft Dataverse のアクション①
この操作を実行すると、Microsoft Dataverse のテーブル間に一対多または多 対多の関連付けがある場合に、テーブル間で行と行のリンクを削除できます。 11 この操作により、選択したオプションと一致する Microsoft Dataverse テーブル行 を一覧で表示します。
この操作を実行すると、Microsoft Dataverse のテーブル間に一対多または多 対多の関連付けがある場合に、テーブル間で行と行のリンクを作成できます。 この操作により、Microsoft Dataverse テーブルから行を削除します。 Microsoft Dataverse のアクション②
12 この操作を実行すると、Microsoft Dataverse コネクタの処理グループを、1 つのトランザクションとして実行できます。いずれかの処理が失敗した場合、 成功したすべての処理がロールバックされます。 Microsoft Dataverse のアクション③
13 Dataverse 検索列とは
検索 列 14 ◼ 多対一 (N:1) のテーブル関係を関連付けするもの ◼ N側のテーブルに作成する ◼
1側のテーブルの 一意識別子(GUID)などを含む構造化データがセッ トされる Microsoft Dataverse におけるテーブルの関連付けについて - Power Apps | Microsoft Learn 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH [車] テーブル [メーカー] テーブル 検索 列 多(N) 一(1)
Dataverse 検索列の設定
検索 列の設定方法 16 その1 ➢ テーブルを開き [新規]-[リレーションシップ] ➢ 多対多の設定も可能 その2
➢ 列を追加-[検索]-[検索] ➢ 多側(N側)から作り、 一側(1側)のテーブルを指定
Dataverse 検索列の 参照(Read)
検索列の値で抽出 18 ◼ 検索列に対し、直接、値でフィルタリングすることはできない ◼ 多対一 (N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)で検索する ◼ GUIDで検索する際は、検索列を
_<列の論理名>_value で指定する 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ALFで 検索したい ① 1側を検索 ② 一意識別子で検索 [車] テーブル [メーカー] テーブル 多(N) 一(1)
検索列の値で抽出 19 検索列を _<列の論理名>_value で指定する テーブル名(動的コンテンツ) エンティティのインスタンスを 表す一意識別子 Odata クエリ演算子については
Web API を使用したデータのクエリ - Power Apps | Microsoft Learn 列の指定、ソートキーも _<列の論理名>_value outputs('行を一覧にする’) ?['body/value']?[0]?['new_manufacturerid']
クエリの展開 20 https://learn.microsoft.com/ja-jp/power- apps/developer/data-platform/webapi/multitable- lookup?wt.mc_id=-MVP-5005122 検索列 のスキーマ名を指定 ◼ 多対一 (N:1)における多側(N側)検索時に、関連する一側(1
側)レコードのデータも取得できる ◼ 一側の<スキーマ名>を指定、または、 <スキーマ名>($select=<列の論理名>)で指定する
Fetch Xml クエリ 21 【Power Automate】Dataverse の高度なフィルターを簡単に作成する話 - ふらりのメモ書き モデル駆動型アプリはテーブルの
詳細画面から作る <fetch version="1.0" mapping="logical" savedqueryid="72ceffd3-20be-4df7-9e31-7290da6c522e" no- lock="false" distinct="true"> <entity name="new_car"> <attribute name="statecode"/> <attribute name="new_carid"/> <attribute name="new_id"/> <attribute name="createdon"/> <order attribute="new_id" descending="false"/> <attribute name="new_carmanufacturer"/> <filter type="and"> <condition attribute="new_carmanufacturer" operator="eq" va lue="{f62dbf6f-7712-f011-9989-002248eff0b4}" uiname="ABA" uitype="new_manufacturer"/> </filter> </entity> </fetch> テーブル名(動的コンテンツ) uiname は、抽出に 影響しない(が消し ておく方がよいか も)
Dataverse 検索列の 更新(Update)
検索列の値を更新 その① 23 ◼ 検索列に対し、行の関連付けを行う ◼ 多対一 (N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)を、多側(N側)の検索列に関連付ける ◼
「行を関連付ける」アクションを利用する 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ALF メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAに 変更したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 1側を検索 ③ 行を関連付ける ② N側を検索
検索列の値を更新 その① 24 多側(N側)のテーブルを指定 テーブル名(動的コンテンツ) エンティティのインスタンス を表す一意識別子 Odata ID (動的コンテンツ)
一側(1側)のテーブルを指定 OData 行 ID
検索列の値を更新 その② 25 ◼ 「行を更新」アクションでも可能 ◼ 検索列に対し、<列の論理名>([GUID]) で指定する ◼ 多対一
(N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)を、多側(N側)の検索列にセットする 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ALF メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAに 変更したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 1側を検索 ② 行を更新
検索列の値を更新 その② 26 テーブル名(動的コンテンツ) 一側(1側)のテーブルを指定 [<1側のテーブルのセット名>](<1側のテーブル名>) エンティティのインスタンス を表す一意識別子 テーブル名(動的コンテンツ) エンティティのインスタンス
を表す一意識別子 次ページ
テーブルのセット名 取得方法 27
Dataverse 検索列の 追加(Create)
検索列の値を追加 その① 29 ◼ 検索列に対し、行の関連付けを行う ◼ 多対一 (N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)を、多側(N側)の検索列に関連付ける ◼
「行を関連付ける」アクションを利用する 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を追加 したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 1側を検索 ② 行を関連付ける
検索列の値を追加 その① 30 多側(N側)のテーブルを指定 テーブル名(動的コンテンツ) エンティティのインスタンス を表す一意識別子 Odata ID (動的コンテンツ)
一側(1側)のテーブルを指定 OData 行 ID
検索列の値を追加 その② 31 ◼ 「新しい行を追加する」アクションでも可能 ◼ 検索列に対し、<列の論理名>([GUID]) で指定する ◼ 多対一
(N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)を、多側(N側)の検索列にセットする 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を追加 したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 1側を検索 ② 行を追加し、関連付ける
検索列の値を追加 その② 32 一側(1側)のテーブルを指定 テーブル名(動的コンテンツ) エンティティのインスタンス を表す一意識別子 [<1側のテーブルのセット名>](<1側のテーブル名>)
Dataverse 検索列の 削除(Delete)
検索列の値をクリア 34 ◼ 検索列に対し、行の関連付けを解除する ◼ 多対一 (N:1)における一側(1側)のテーブルを検索し、そのレ コードの一意識別子(GUID)を、多側(N側)の検索列に関連付ける ◼ 「行の関連付けを解除する」アクションを利用する
車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAを 削除したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 1側を検索 ③ 関連付けを解除する ② N側を検索
検索列の値をクリア 35 多側(N側)のテーブルを指定 テーブル名(動的コンテンツ) エンティティのインスタンス を表す一意識別子 Odata ID (動的コンテンツ) 一側(1側)のテーブルを指定
OData 行 ID
検索列を含む行を削除 36 ◼ 「行を削除する」アクションを利用する ◼ 削除対象の行の一意識別子(GUID)を指定する 車 モデル 自動車メーカー bf894e82-
JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を 削除したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ② 行を削除 ① 検索
一側のレコードを削除した場合 37 ◼ 多対一 (N:1)における一側(1側)のテーブルからレコードを削除 すると、多側(N側)の検索列の値も削除される ◼ 高度な関連付け動作により、動きは変わる 車 モデル
自動車メーカー bf894e82- JULIA AFL 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を 削除すると [車] テーブル [メーカー] テーブル 多(N) 一(1) 検索列の値も 削除される
Dataverse 検索列 キャンパスアプリ
検索列の値で抽出 39 ◼ 検索列に対し、直接、値でフィルタリングすることはできない ◼ 検索列の表示名.一側(1側)テーブルの表示名 を、条件式に指定するこ とで、検索可能 車 モデル
自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ALFで 検索したい [車] テーブル [メーカー] テーブル 多(N) 一(1) Filter( 車, 自動車メーカー.ID = "ABA" )
検索列の値を更新 ① 40 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6-
MiTo ALF adb35bff- アバルト595 ALF メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAに 変更したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ② 行を関連付ける ◼ 検索列の表示名.一側(1側)テーブルより、リレーションしたいレコー ドをレコード(Record)型で指定する Patch(車, LookUp(車, モデル="アバルト595"), {自動車メーカー:LookUp(メーカー,ID = "ABA")}) ① 行をレコード型で特定 Lookup(),First(),Index() 等の関数 Gallery.Selected, ThisRecord など
検索列の値を更新 ② 41 車 モデル 自動車メーカー bf894e82- JULIA ALF 7bfdf6c6-
MiTo ALF adb35bff- アバルト595 ALF メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAに 変更したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ② 行を関連付ける ◼ Relate() 関数で、関連付けも可能。一側(1側)にリレーションに対し、 多側(N側)のレコードをレコード(Record)型で指定する Relate(LookUp(メーカー, ID="ALF").車, LookUp(車, モデル="アバルト595")) ① 行をレコード型で特定 Lookup(),First(),Index() 等の関数 Gallery.Selected, ThisRecord など
検索列の値を追加 42 ◼ 検索列の表示名.一側(1側)テーブルより、リレーションしたいレコー ドをレコード(Record)型で指定する 車 モデル 自動車メーカー bf894e82- JULIA
ALF 7bfdf6c6- MiTo ALF アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH [車] テーブル [メーカー] テーブル 多(N) 一(1) ① 行をレコード型で特定 Lookup(),First(),Index() 等の関数 Gallery.Selected, ThisRecord など Patch(車,Defaults(車), {モデル:"アバルト595", 自動車メーカー:LookUp(メーカー,ID = "ALF")}) 行を追加 したい
検索列の値をクリア 43 ◼ 検索列に対し、Blank() をセットする。 ◼ Unrelate() でも可能。 車 モデル
自動車メーカー bf894e82- JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH ABAを 削除したい [車] テーブル [メーカー] テーブル 多(N) 一(1) Patch(車, LookUp(車, モデル="アバルト595"), {自動車メーカー: Blank() }) Unrelate(LookUp(メーカー, ID="ALF").車, LookUp(車, モデル="アバルト595"))
まとめ
まとめ Dataverse の検索 列は とっても便利! でもクセがあるので、 困ったら見に来てね! 61
ありがとうございました 62