【PowerAutomate】週替わりの当番を自動でTeamsに通知する(2-5)~(3)フロー作成続き
※2022年8月時点の情報です。
こちらの記事の続きになります。
長らく放置してしまいましたが、続きを書いていきたいと思います。
(2-5)次の当番を計算する
いよいよ、取得してきた「今週の当番」から「来週の当番」を計算する部分に入ります。
(2-5-1)一時変数「tmp」に今週の当番IDを入れます。
「変数の設定」アクションを使います。
自動的に「Apply to each」で囲まれてしまいましたが、さして問題ではありません。
(2-5-2)計算する
前回、(2-3-2)で初期化した変数(まずは「t1」)に、計算結果を保存していきます。
※3人ローテなので、(2-5-1)(2-5-2)を3回分行います。
ここで、計算手順の解説
計算の手順は次のとおりです。
①今週の当番のIDを保存
②1を引いて「0始まりの連番」にする
③3人ローテなので3を足す
④人数(tn)で割った余りを求める
⑤1を足して「1始まりの連番」に戻す
さきほどの「変数の設定」の中で、上記②~⑤を、1つの式に詰め込んでいます。
なぜこのような細かい手順を踏んでいるかと言いますと・・・
「条件分岐を使いたくない」という変なこだわりがあったからです(笑)
「じゃあ3足すだけでよくね?」と思ったんですが・・・
この画像の黄色い部分にあるように、
単純に3足すだけだと、ローテ人数より多い数字が出てしまうときがあります。
ここで私はなんとな~く
「3足した後に人数で割って余りを出したらよくね?」
と思いました。
ですが・・・
この図のように「余り0の時にどうするか」問題が出てきます。
試行錯誤の結果、この手順にたどり着いたわけです。
ある程度勉強が進んできた今、このブログを書きながら思っていますが、
こんなややこしいことをしなくても、
「3足した結果を見て、人数以上の値が出てきたら引き算する」という
条件分岐でも十分です。(笑)
(2-6)計算した値をリストに書き込む
SharePointの「項目の作成」を使って、
今まで計算してきた各種値を書き込んでいきます。
このフローはここで終了です。
(3)Teamsに通知するフロー
それでは、Teamsに通知するフローを作っていきます。
(3-1)トリガー:SharePointに項目が作成されたとき
動いてほしいタイミングは「RotationListに項目が作成されたとき」なので
そのようなフローを作成します。
(3-2)Teamsのチャネルにメッセージを投稿する
作成されたリスト項目から各種値を取ってきて、
Teamsのチャネル投稿文を作成します。
これですべての設計が完了です!
このように通知されます。
さいごに
はじめてのPowerPlatform関連の記事をシリーズもので書くという暴挙に出ました。
ブログを書く力が不足している中での記事だったので、読みにくい部分などがあったかと思います。
次回以降は、小ネタの投稿で練習したいと思います(笑)