MENU

PowerAutomateで交互に何かさせる仕組み

例えば、何かのトリガーでリストに「A」と保存したら、次のトリガーでは「B」と保存したい。
その次はまた「A」。次は「B」。
AとBを交互に繰り返していきたい、といった仕組み。
上記だけで完結というより、何かのフローに組み合わせて使うような仕組みですね。いつもながら超初心者です。

実装方法はいくつもあると思います。
ここではリストのIDを照会して、末尾が1だったらA、末尾が2だったらB、という条件分岐で実現させています。

目次

作成物

今回利用するものはSharePointリストだけです。
ひとまず「ABList」とでもしておいて、特に列なども不要でデフォルトのまま。

フロー

詳細フロー

フローを手動でトリガーする

とりあえずここでのトリガーは「フローを手動でトリガーする」としています。

項目の作成

特に何もない、空っぽのレコードを作成します
ここで作成されたシステムIDを後ほど使用するためだけのものです

Site AdressとList Nameはそれぞれの環境を当てはめます

※リストは事前に作成していたものです

条件

ここでは「項目の作成」で作られたシステムIDを左側に入れています。
そのIDの末尾が「1」だったらtrue、「2」だったらfalseに流れる、という仕組みです。

「末尾」の条件は文字列で比較されるようです。

今回比較するリストのIDは型が数値になるため、動的コンテンツをそのまま入れ込むのではなく、式で文字列に変換しております。

string(outputs('項目の作成')?['body/ID'])

また同様に、右側は単純に「1」や「3」と数値を手投入するだけですが、こちらも型が合致しない可能性があるため、左と同様に文字列変換しております。

string(1)

右側はカッコの中の数値を、それぞれ1、3、5、7、9と変更します。

条件がデフォルトで「And」になっているので、これを「OR」にするのを忘れずに。

分岐後

分岐後(左)のTrueに、Aの処理を記載します。
(画像は便宜上「項目の更新(奇数)」にしています)

分岐後(右)にはBの処理を記載します。

これで、トリガーされるたびに、左、右、左、右、と交互に処理が続行されます。

余談

単純に交互させるならIDを2で割るのも良いかなと思いましたが、今回の設定方法の方が分かりやすいと思います。
また、2つを交互にさせるのではなく3だった場合は3で割り算して、余りに対して比較すれば良いです。
条件分岐は1つでは足りないので、入れ子にして2つですかね。

色々と応用が利きそうな内容でした。

広告

目次