Power Automate から SharePoint リストアイテムを取得して件数確認
先日いただいた質問からのご紹介です。
やりたいこと
SharePoint リストから条件に一致するアイテムの件数を確認したい。
条件: 日付型の列の値と同じ月の件数を知りたい
設定
条件に一致する SharePoint のリストアイテム (複数) を取得するため、フロー内に [複数の項目の取得] アクションを利用します。
アクションを追加後、サイトのアドレスやリスト名を指定して、
フィルター条件は [フィルタークエリ] に OData フィルタークエリを用いて記述します。SharePoint でのコーディングや REST API の操作に慣れた方にはおなじみかと思いますが、そうではない方には最初は ???? となるかもしれません。
[フィルタークエリ]
図の内容ですが、date は条件判断に利用する SharePoint 列名です。列名は内部名で指定します。 ge が 「より大きいまたは等しい」 となり、startOfMonth 関数を利用して日付列の値の月初めの日付と比較しています。
もし今日の日付をもとに同じ月の値を取得したいなら、startOfMonth(utcNow()) でもいいと思います。図ではトリガーで取得した date 列の値を利用しています。
[上から順に取得]
既定では取得されるデータの上限は 100 件なので、リスト内のアイテム数に応じて [上から順に取得] を指定します。空白だと既定値の 100 となり、これは REST API の $top に相当し SharePoint で一度で取得できる上限である 5000 まで設定できます (これ以上アイテム数がある場合は Pagination を利用して複数回に分けて取得するなど工夫が必要) 。
参考:比較演算子
他にも、次のような演算子が利用できます。
lt | より小さい |
le | 未満または等しい |
gt | より大きい |
ge | より大きいまたは等しい |
eq | 等しい |
ne | 等しくない |
startswith | からはじまる (文字列) ※ startswith (列名, ‘文字列’) |
substringof | を含む (文字列) ※ substringof (‘文字列’, 列名) |
例えば date 列に入力された日付と同じ月である かつ Category が A に等しい、場合はこんな感じです。
つぎに、件数を取得するために、length 関数を利用し複数の項目の取得アクションの value を引数とします。
結果の件数をなんらかの列に書き込みたい場合は項目の更新アクションでよいと思いますが、図では変数に値をいれています。
以上、リストアイテム取得とその件数取得でした。
Power Platform 関連コース開催中!
- CI613-H Power Apps と Flow による Office 365 活用
Power Apps アプリの作成、Power Automate でのフロー作成について Office 365 に含まれるライセンスを活用して行えることを実習をベースで解説。
- CI616-H Power BI によるデータ分析
Power BI Desktop でのデータ取得 – 加工 – レポート作成を行う方法から、Power BI サービスに発行し Web やモバイルでレポートを利用する方法まで、Power BI を利活用するために必要な基本知識を習得。
- CI614-H SharePoint & Power Apps & Power Automate 実践ラボ
基本をご存知の方を対象に、実際にフォームを作成する際によくある疑問点をあげつつ、実践的なテクニックや Tips を一緒にアプリを作成するラボを行います。
- CI615-H エンドユーザーのための Power Automate と Office クライアント連携
ユーザーを対象に Power Automate を利用して日々の作業を効率化する手法を、Excel や Outlook との連携を中心に、操作を中心に解説。
- CI613-O Power Apps と Office 365 によるキャンバス アプリ作成
Power Apps を利用したキャンバス アプリの作成方法や知っておくべきしくみ、共有方法、またアプリ作成時のポイントや Tips を解説するオンライン限定コース
- CI615-O エンドユーザーのための Power Automate と Office クライアント連携 – オンライン版
CI615-H のオンライン開催版