【Power Automate の小技】DataverseとListsのレコード取得アクションにおけるフィルター指定方法の違い

Power Automateは、Microsoftが提供する強力な自動化ツールです。これにより、さまざまなアプリケーション間でのタスクを簡単に自動化できます。Power Appsと組み合わせることで、専門的な技術知識や開発経験がなくても、日常業務を効率化し、生産性を高めるモバイルアプリやWebアプリを比較的簡単に作成することが可能です。

はじめに

Power Apps(Teams)を使用してアプリを構築する際には、Dataverse for TeamsやListsをデータソースとして選択することが、多くのビジネスプロセスにおいて効果的です。これらのプラットフォームからデータを取得することは、業務の効率化において重要な機能を担います。ただし、DataverseとListsではデータをフィルタリングする方法が異なります。本記事では、それぞれのサービスにおけるフィルター指定の方法とその差異について、詳細に解説していきます。

なお、この記事は、Power Automateを起動してフローを作成し、タスクを自動化するなど、ある程度Power Automateの基本操作ができる方を対象にしています。Power Automateの基本操作から学びたい方は、別途関連サイトや書籍を参考にすることをおすすめします。

さらに、Power Appsの基本操作も理解されていることをおすすめします。これにより、両プラットフォームの機能を最大限に活用し、業務の自動化とアプリケーション開発の両方において、より効果的な結果を得ることができます。

DataverseとListsのレコード取得方法

Power Appsなどで作成するデータ操作アプリでデータソースから複数のレコードを取得するには、DataverseではMicrosoft Dataverseコネクタの”行を一覧にする”アクションを、ListsではShare Pointコネクタの”複数項目の取得”アクションを用います。

Dataverseの”行を一覧にする”アクションのフィルター指定方法

Dataverseの”行を一覧にする”アクションでは、行のフィルターにODataフィルタークエリーを入力してレコードをフィルタリングします。

フィルタークエリーは、「列の論理名 フィルタ演算子 値」であらわすことができます。例えば、”cr2f5_tantosya eq ‘山田太郎’“というフィルタークエリーは、担当者が’山田太郎’のレコードだけを取得します。

Dataverseの列の論理名は、「テーブル > 当該テーブル名 > 列 > 当該列名 > … > 編集 > 高度なオプション > 論理名」で確認することができます。

powerautomate_dataverse_lists_filter03

powerautomate_dataverse_lists_filter04

powerautomate_dataverse_lists_filter05

Listsの”複数項目の取得”アクションのフィルター指定方法

一方、Listsでは、SharePointの”複数項目の取得”アクションのフィルタークエリにODataフィルタークエリーを入力してレコードをフィルタリングします。

フィルタークエリーは、「列の内部名 フィルタ演算子 値」であらわすことができます。

Listsの列の内部名は、「当該リスト名 > 設定 > リストの設定 > 当該列名 > ブラウザのアドレスバー」で確認することができます。

実際の内部名は、URLの”Feild=”続く文字列の先頭に”OData_”を付与したものとなります。下図の例では、”OData_x6765__x5ba4__x65e5__x6642_”となります。

powerautomate_dataverse_lists_filter06

powerautomate_dataverse_lists_filter07

powerautomate_dataverse_lists_filter08

フィルター演算子

主なフィルター演算子は次のとおりです。

種別記号意味
比較eq一致
ne不一致
ge以上
le以下
論理式andかつ
orまたは
クエリcontains○○を含む
startswith○○から始まる

フィルター演算子を組み合わせて使うと、次のように与えられた範囲の日付のデータを取得する事が出来ます。

crbeb_nichiji ge '(From日付)' and crbeb_nichiji le '(To日付)'

まとめ

以上が、Power AutomateDataverseの”行を一覧にする”アクションとListsの”複数項目の取得”アクションにおけるフィルター指定方法の違いです。DataverseでもListsでもODataフィルタークエリーを用いますが列の指定に違いがあります。また、フィルター演算子を適切に組み合わせることで、より複雑なクエリも実現可能です。

適切なクエリを構築することは、Power Automateを活用した業務の効率化において非常に重要です。この記事が、皆さんのPower Automateによる業務改善に役立つ情報となることを願っています。