Power Automateを触ってみたい
Power Platformに興味があって最近さわりはじめました。
PowerAutomateは使ったことがなかったので、簡単なフローの作成を挑戦してみようと思います。
作るフロー
クリスマスまでもうすぐ!!ということで、
毎年、クリスマスまでの残日数に合わせたメッセージをTeamsに通知させるフローを作ってみます。
中身
概要
毎朝10時になったら、PowerAutomateが起動して動作
今日の日付けから、クリスマスまでの残り日数を計算します。
残り100日、残り30日、残り12日に通知をして、
残り12日を切ると、3日に一回通知を飛ばします。
クリスマスイブと、クリスマスにはめでたい(?)文章が通知されます。
フロー詳細
- 毎朝10時にこのフローを実行するようにします
- クリスマスの日付けを設定、今日の日付けも計算しておきます
今日の日付けを取得するには、utcNow()を使います。
これで取得できるのはUTCの時刻なので、addHours()を使って9時間プラスし、JSTに変更し、ついでにMM-dd形式にも変更。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- こっから今日の日付けになるまで日付けをどんどん追加して、クリスマスまでの残り日数をカウントしていきます。
Do utilというwhile文みたいなのを使います。
コントロールというアクションにあります。
今日の日付けがクリスマスの日付けと等しくなるまでこのループを続けさせます。
今日の日付けとクリスマスの日が等しくない場合は、今日の日付に1日プラスした値を計算します。
日付けを追加するのは、addDays()という関数を使用します。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- ”今日の日付”の値を、上記に日付けに1ずつ追加で計算した日付に更新します。
- クリスマスの日付けではないので残り日数に1日追加します
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- 次に残り日数を3で割ったあまりを計算しておきます
- 計算結果を変数を作って初期化します
残り日数を3で割ったあまり
3日に一回通知するために用意した変数です。
mod関数を使って、残り日数を3で割った余りを計算します。
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- メッセージを飛ばすかどうか分岐させる
私はたくさん分岐させたかったので大変なことになりました。
\\ ナニコレ珍百景 //
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
全部説明していたらクリスマスになってしまいそうなので、クリスマスイブとクリスマスの分岐の設定だけお見せします。
アクションでTeamsを選択すると、いろんなアクションが出てきますが、
検索で「メッセージを投稿する(V3)」を選択します。
各項目を埋めておわりです。
実際の画面
指定したチャネルにメッセージが投稿されていることが確認できました。わーい!
分かりにくかったところ
PowerAutomateをつかってBotまがいのものはできましたが、
やっていく中で、理解するのに時間がかかった部分がいくつかありました。
変数の作成、値の計算等どれ使っていいのかよくわからなくなる
値の計算+変数の作成+初期値代入が1つの箱でできると思っていたので、最初は理解に苦しみました。
PowerAutomateでは、計算に1つ箱が必要で、変数を初期化(作成)して結果を代入するで1つの箱使います。
条件分岐内では、変数の初期化できない
条件分岐内で使う変数を作りたくて、変数初期化を組み込んだら、分岐外じゃないとできないよとエラー。
これは何でできない仕様なんでしょう、、できるようにしてください!えらい人!
数値の計算式は「変数名/3」みたいな書き方はできない
計算するのは計算できる関数があるので、そっちを使う。
例えば、割る時は、div関数を使います。
変数や計算した値が候補に出てこないことがある
あれ、、この変数つかえないのか?
と思って検索すると出てきます。
さいごに
PowerAutomateはそんなにコストなくいろいろできるイメージでした!
今回はお遊びで雑なものを作りましたが、次は業務などで役立つものつくってみたいです。
参考文献
ほぼこちらを参考にしてつくりました!
とても分かりやすかったです、感謝。