Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dataverseの検索列について

 Dataverseの検索列について

MiyakeMito

April 26, 2025
Tweet

More Decks by MiyakeMito

Other Decks in Technology

Transcript

  1. アジェンダ Microsoft Dataverse トリガー Microsoft Dataverse アクション Dataverse 検索列とは Dataverse

    検索列のCRUD Power Automate編 Dataverse 検索列のCRUD Power Apps編 Dataverse 選択肢列とは Dataverse 選択肢列のCRUD Power Automate編 Dataverse 選択肢列のCRUD Power Apps編 3
  2. Microsoft Dataverse のトリガー 8 このトリガーにより、ビジネス プロセス フローのス テップで [フローの実行] ボタンがクリックされた時に、

    フローを開始できます。 Microsoft Dataverse アクションの完了時にトリガーしま す。 このトリガーを使用すると、Microsoft Dataverse テーブ ルで行が追加、変更、または削除された場合に、選択し たオプションと一致するフローを開始できます。 コマンド バーの [フロー] メニューで行が選択されたとき にフローをトリガーします。
  3. この操作により、Microsoft Dataverse テーブルの ID と一致する行を取得します。 10 この操作により、選択した Microsoft Dataverse テーブルに新しい行を追加します。

    この操作により、関連性検索で Microsoft Dataverse 環境を検索して、検索語句に最 も近い行を取得します。 このアクションにより、Microsoft Dataverse テーブルの選択した行を変更できます。 Microsoft Dataverse のアクション①
  4. この操作を実行すると、Microsoft Dataverse のテーブル間に一対多または多 対多の関連付けがある場合に、テーブル間で行と行のリンクを削除できます。 11 この操作により、選択したオプションと一致する Microsoft Dataverse テーブル行 を一覧で表示します。

    この操作を実行すると、Microsoft Dataverse のテーブル間に一対多または多 対多の関連付けがある場合に、テーブル間で行と行のリンクを作成できます。 この操作により、Microsoft Dataverse テーブルから行を削除します。 Microsoft Dataverse のアクション②
  5. 検索 列 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)
  6. 検索 列の設定方法 16 その1 ➢ テーブルを開き [新規]-[リレーションシップ] ➢ 多対多の設定も可能 その2

    ➢ 列を追加-[検索]-[検索] ➢ 多側(N側)から作り、 一側(1側)のテーブルを指定
  7. 検索列の値で抽出 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)
  8. 検索列の値で抽出 19 検索列を _<列の論理名>_value で指定する テーブル名(動的コンテンツ) エンティティのインスタンスを 表す一意識別子 Odata クエリ演算子については

    Web API を使用したデータのクエリ - Power Apps | Microsoft Learn 列の指定、ソートキーも _<列の論理名>_value outputs('行を一覧にする’) ?['body/value']?[0]?['new_manufacturerid']
  9. 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 は、抽出に 影響しない(が消し ておく方がよいか も)
  10. 検索列の値を更新 その① 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側を検索
  11. 検索列の値を更新 その② 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側を検索 ② 行を更新
  12. 検索列の値を追加 その① 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側を検索 ② 行を関連付ける
  13. 検索列の値を追加 その② 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側を検索 ② 行を追加し、関連付ける
  14. 検索列の値をクリア 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側を検索
  15. 検索列を含む行を削除 36 ◼ 「行を削除する」アクションを利用する ◼ 削除対象の行の一意識別子(GUID)を指定する 車 モデル 自動車メーカー bf894e82-

    JULIA ALF 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を 削除したい [車] テーブル [メーカー] テーブル 多(N) 一(1) ② 行を削除 ① 検索
  16. 一側のレコードを削除した場合 37 ◼ 多対一 (N:1)における一側(1側)のテーブルからレコードを削除 すると、多側(N側)の検索列の値も削除される ◼ 高度な関連付け動作により、動きは変わる 車 モデル

    自動車メーカー bf894e82- JULIA AFL 7bfdf6c6- MiTo ALF adb35bff- アバルト595 ABA メーカー ID メーカー名 f62dbf6f- ALF Alfa Romeo 57549554- ABA ABARTH 行を 削除すると [車] テーブル [メーカー] テーブル 多(N) 一(1) 検索列の値も 削除される
  17. 検索列の値で抽出 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" )
  18. 検索列の値を更新 ① 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 など
  19. 検索列の値を更新 ② 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 など
  20. 検索列の値を追加 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")}) 行を追加 したい
  21. 検索列の値をクリア 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"))