こんにちは、日本マイクロソフトの佐藤です。
この記事では、Power Automate の Fin&Ops Apps (Dynamics 365) コネクタにおけるフィルターの設定方法をご案内します。
この手順により、Power Automate から Dynamics 365 for Finance and Operations (D365FO) 環境にアクセスしてテーブル情報を取得する際に、フィルターを適用し、必要な情報だけを取得することができます。
検証に用いた製品・バージョン
Dynamics 365 Finance and Operations
Application version: 10.0.33
Platform version: PU57
PowerAutomate の Fin&Ops Apps(Dynamics365) コネクタにおけるフィルターの設定方法
例えば、ステータスが ‘エラー’ である Batch ジョブだけの情報を取得したい場合は、下記のようにフローを設定することで、情報を取得できます。
1 | Status eq Microsoft.Dynamics.DataEntities.BatchStatus'Error' |
上記のうち、テーブル列名 (1) eq Microsoft.Dynamics.DataEntities.**(*2) ‘値(*3)’
にあたる 3 つは取得したいデータに併せて設定する必要があります。
List items present in table のフィルタークエリの設定 (*1 *3)
まずテーブル列名 (*1) とその値 (*3) の参照方法を説明いたします。いくつか方法はございますが、本 Blog では PowerAutomate を使用した方法を 1 つ紹介いたします。
「テーブルに存在する項目を一覧表示する」のコネクタにて、参照したいエンティティに関してフィルターを設定せずに一度テストを実行します。
テスト終了後、実行履歴からダウンロード取得したデータをダウンロードします。
データを開き、取得したいデータを検索すると “Status” という列名に “Error” という情報で格納されていることがわかります。
List items present in table のフィルタークエリの設定 (*2)
続いて、Microsoft.Dynamics.DataEntities. の後の (*2) について PowerAutomate を使用した参照方法を説明いたします。
「テーブルに存在する項目を一覧表示する」のコネクタにて、参照したいエンティティに関して、上記の手順で判明した (*1) と (*3) を用いてフィルターを設定します。その後テストを実行します。
テスト終了後、実行履歴を確認するとテストは失敗しているはずです。この失敗は想定の挙動ですので問題ございません。エラーの内容を確認すると下記のようにエラーが表示されます。
上記のエラーで表示された Microsoft.Dynamics.DataEntities. の後の文字列 ( 今回は BatchStatus ) を (*2) の値として使用します。
すると下記のような設定となり、データのフィルタリングができます。
OData のサービスエンドポイント使用時のフィルター設定
本ブログのフィルター設定を OData のサービスエンドポイント使用時に実行する場合は、下記のように設定します。
1 | https://xxxxxxxxx.sandbox.operations.dynamics.com/data/BatchJobs?$filter=Status eq Microsoft.Dynamics.DataEntities.BatchStatus'Error' |
その他のクエリオプションの設定に関しましては、下記の公開資料に記載がございますので、ご参照いただけますと幸いです。
おわりに
以上、、Power Automate の Fin&Ops Apps (Dynamics 365) コネクタにおけるフィルターの設定方法をご紹介させていただきました。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。より詳細な情報が必要な場合は、弊社テクニカル サポート, アカウント マネージャー, ソリューション アーキテクト, FastTrack までお問い合わせください。