Power Automateはじめました

2022/03/05

ながらくブログ更新をさぼっていました。仕事がだいぶかわり、最近はPower AutomateやPower Virtual Agents、Power BIを触ることが多くなりました。せっかく学ぶ機会を得たので、きっといつか誰かのために役立ててもらえるようにまとめておこうと思いました。

こちらのページに、逆引き辞典のように追加していきますので、使っていただけると嬉しいです。

ここで言うPower Automateとは、クラウド上で動作するほうで、近年RPAとかロボットとかで話題になるPower Automate Desktopとは異なります。

いわゆるノーコード、ローコードというやつで、プログラム言語を覚えなくても様々な処理を組み立てられますよという触れ込みですが、データを自由にあつかおうとすると、とたんにハードルが上がります。その理由がJSONです。

Power Automateではあらゆる処理の結果がJSONという形式で返されます。ピタゴラスイッチをイメージしてもらうとわかりやすいのですが、ボールが転がってくると、何かの処理が行われて、その結果として別のボールなり缶なりが転がって次の装置に進んでいきます。入力-処理-出力がつながっているのです。

この出力はJSONという形で出てくることが多いのですが、大抵は入れ子構造になったり、さらに配列になっていたりします。ここから必要な情報をどうやって取り出して、次の処理の入力にするかというのが肝だったりします。

例えば、以下はIBMが資料として掲載しているJSONの例を日本語化してみたものです。

{ "名前"   : "ジョンスミス",
  "sku"    : "20223",
  "価格"  : 2300,
  "送付先" : { "名前" : "ジョンスミス",
               "町" : "楓町123",
               "市" : かえで市",
               "県" : "仮想県",
               "郵便番号"   : "123-4567" },
  "注文主" : { "名前" : "ジョンスミス",
               "町" : "楓町123",
               "市" : "Pretendville",
               "県" : "仮想県",
               "郵便番号"   : "123-4567" }
}

これは単純なオーダーの情報ですが、こんな感じであらゆる入力と出力が、カッコでくくられた大量の文字列で飛んできます。

これをうまく抜き出すためのコツというのがあるようで、おそらくPower Automateを使う上で最難関であり楽しいところでもあると思います。ここしばらく、仕事場で無茶ぶりにより、Power Automateでの自動化をするため、先人たちの工夫をググりまくって知ったコツを載せられたらと思いますので、お役にたてればと思います。