はじめに
BizOptimars の いのうえ です。
今回は Power Automate で SharePoint の「複数の項目の取得」アクションのフィルタークエリを使ってみました。
特定の項目を取得して、Teams に通知するフローを作っていきます。
用意したもの
列名 | データ型 |
---|---|
タイトル | テキスト |
DueDate | 日付 |
Status | 選択肢 |
フローの作成
トリガーの Time Zone は日本時間に変えておきます。
次にアクションの追加から「複数の項目の取得」アクションを追加します。
詳細パラメーターの フィルター クエリ にチェックを入れます。
Status のフィルター クエリ
まず、Status が「未着手」のものを取得するフィルタークエリを作成します。
Status列の内部列名 eq '未着手'
内部列名の確認方法 (クリックすると開きます)
※日本語の列名の場合、URL の最後のイコールから後ろの文字列に「OData_」を頭に付けたものが内部列名になります
最初に日本語で列名を設定した場合は、内部列名がこのような文字列になりますので、お気を付けください。
この列の場合は、内部列名は「OData__x500b__x6570_」となります。
では、Teams 通知の設定を行います。
まず、通知用の文を変数で作っていきます。
「変数を初期化する」アクションを追加して、以下のように設定します。
次に、「文字列変数に追加」アクションを追加して、以下のように設定します。
最後に、「チャットまたはチャネルでメッセージを投稿する」アクションを追加して、以下のように設定します。
これでテストを行いますと、以下のように通知することができました。
DueDate のフィルター クエリ
次に、DueDate が本日以降のものを取得するフィルタークエリを作成します。
「複数の項目の取得」アクションの前に、現在の日付の取得をしておきます。
今回使用してるサイトのタイムゾーンは 日本 に設定している状態です。
タイムゾーンの確認や変更の方法はこちらの記事を参考にしてください。
DueDate列の内部列名 ge '日付の変数'
「チャットまたはチャネルでメッセージを投稿する」アクションの文言を変えておきます。
これでテストを行いますと、以下のように通知することができました。
おわりに
フィルタークエリは、最初は躓きやすいところになりますので、ぜひチャレンジしていただければと思います!
今回は、eq (等しい) と ge (以上) を使いましたが、以下公式ページでは、他の演算子についても記載がありますので、ご参考にしていただければと思います。