LoginSignup
6
4

More than 1 year has passed since last update.

Power AutomateでSharePointリストの件数を取得する

Last updated at Posted at 2022-02-23

PowerAutomateを使って、
SharePointリストから条件に合致するアイテムの件数を取得する方法を調べました。
以下にまとめます。

大きな流れ

フローの流れは以下の画像のようになります。
image.png

  1. 定時に実行され、(繰り返し)
  2. SharePointリストを取得し、(リストの取得)
  3. 該当するアイテムを取得し、(複数の項目の取得)
  4. アイテムの件数を変数に設定し、(変数を初期化する)
  5. 条件を設定し、
  6. 最後のアクションを実行する。(画像の例では、Teamsに通知しています。)

3と4の箇所でひと手間必要になります。

環境

以下のようなSharePointリストがあるとします。
image.png
報告日が、今日の日付かどうかという条件をPowerAutomateでは設定する予定です。

フロー作成

繰り返し

好きな時間を設定しましょう。
繰り返し以外のトリガーでも構いません。

(SharePoint) リストの取得

SharePointのリストを設定しましょう。

(SharePoint) 複数の項目の取得

ここが少し重要です。
フィルタークエリに条件を設定して、
合致するリストアイテムを取得します。
image.png
例えば列Dateという英語であれば、Date eq '2022-02-23'などとすれば良いです。
ただし日本語の場合そのままではエラーとなるため、Odataに則ったIDを設定する必要があるようです。

該当SharePointリストのページから、
右上の歯車アイコン>リストの設定>>該当の列名をクリックしましょう。
今回の場合は報告日です。

image.png

開かれたページのURLのField=より後ろの部分が必要になります。
これとOData_とを合体させて、OData__x5831__x544a__x65e5_というような文字列を作成しましょう。
作成された文字列と現在日時とを合致するかのフィルタークエリは以下のようになります。

OData__x5831__x544a__x65e5_ eq 'formatDateTime(addHours(utcNow(),9),'yyyy-MM-dd')'

PowerAutomateの比較演算子
【Microsoft Flow】フローで日本時間の現在時刻を取得する式

変数を初期化する

一つ前のステップで複数のリストアイテムを取得したため、
関数lengthでアイテムの長さを数えましょう。

image.png

設定値は以下のようになります。

項目
名前 テスト(※何でも良いですが、後ほど使います。)
種類 整数
length(body('複数の項目の取得')?['value'])

今回は日付文字列なので整数としましたが、条件によっては真偽値(boolean)などでも良いです。

条件~最終アクション

変数テストが0より大きいかどうか比較する条件を作成し、
はいの場合はTeamsで通知するようにします。
通知アクションの部分は各々の環境で読み替えてください。

image.png

終了!!

まとめ

以上がSharePointリストの件数を取得する方法です。
件数を取得する部分で、日本語列名の設定と関数の使い方は注意が必要ですね。
もう少しそういった部分が直感的になれば、ローコードツールはもっと流行ると思うんんですけどね。

Power Automate から SharePoint リストアイテムを取得して件数確認

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4