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の列の論理名は、「テーブル > 当該テーブル名 > 列 > 当該列名 > … > 編集 > 高度なオプション > 論理名」で確認することができます。
Listsの”複数項目の取得”アクションのフィルター指定方法
一方、Listsでは、SharePointの”複数項目の取得”アクションのフィルタークエリにODataフィルタークエリーを入力してレコードをフィルタリングします。
フィルタークエリーは、「列の内部名 フィルタ演算子 値」であらわすことができます。
Listsの列の内部名は、「当該リスト名 > 設定 > リストの設定 > 当該列名 > ブラウザのアドレスバー」で確認することができます。
実際の内部名は、URLの”Feild=”続く文字列の先頭に”OData_”を付与したものとなります。下図の例では、”OData_x6765__x5ba4__x65e5__x6642_”となります。
フィルター演算子
主なフィルター演算子は次のとおりです。
種別 | 記号 | 意味 |
---|---|---|
比較 | eq | 一致 |
ne | 不一致 | |
ge | 以上 | |
le | 以下 | |
論理式 | and | かつ |
or | または | |
クエリ | contains | ○○を含む |
startswith | ○○から始まる |
フィルター演算子を組み合わせて使うと、次のように与えられた範囲の日付のデータを取得する事が出来ます。
crbeb_nichiji ge '(From日付)' and crbeb_nichiji le '(To日付)'
まとめ
以上が、Power AutomateでDataverseの”行を一覧にする”アクションとListsの”複数項目の取得”アクションにおけるフィルター指定方法の違いです。DataverseでもListsでもODataフィルタークエリーを用いますが列の指定に違いがあります。また、フィルター演算子を適切に組み合わせることで、より複雑なクエリも実現可能です。
適切なクエリを構築することは、Power Automateを活用した業務の効率化において非常に重要です。この記事が、皆さんのPower Automateによる業務改善に役立つ情報となることを願っています。