松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第20回
入力/出力のサンプルをいくつか指定するだけで「式」を自動生成してくれる
面倒な「式」が簡単に書ける! Power Automateの新機能「例を使用してデータを書式設定する」
2022年11月30日 08時00分更新
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
前回第19回の記事では、10月に開催された「Microsoft Ignite 2022」で発表された新機能の中でも筆者が注目する「AIが説明文からワークフローを自動生成してくれる」機能をご紹介しました。それに続く今回は、Power Automateを使いこなすうえで欠かせない「式」を自動生成してくれる便利な機能をご紹介します。
0. Power Automateの「式」とは?
Power Automateの「式」について、少しおさらいです。Power AutomateやAzure Logic Appsでは、あるコネクタが取得した結果(データ)を後続のコネクタに渡して処理に使うことができます。
図は「Office 365 Outlook」コネクタをワークフローに組み込んだ場合に、後続のコネクタで利用可能な「動的なコンテンツ」の例です。動的なコンテンツとして表示される項目(データ)は、後続のコネクタで選択するだけで利用可能です。
しかし、コネクタが出力したデータそのままではなく、そのデータを計算したり加工/変換したりしてから使いたい場合もあります。また、そもそも必要なデータが「動的なコンテンツ」のリストに用意されていない場合もあると思います。
このように、Power Automate / Azure Logic Apppsでは「動的なコンテンツ」だけでは実現できない処理を行うために「式」という仕組みが用意されています。
詳細については、本連載第8回の以下の記事を参考にしてください。
●Power Automate / Azure Logic Appsの「式」を理解しよう
1. 初心者にはハードルが高い「式」を使いこなそう
このように、Power Automateを使いこなそうとすると「式」の活用が必要な場面が多々あります。ただし、「式」を使うためには多数の関数の使い方や表記方法を知る必要があり、慣れるまでにはなかなか大変です(実際、筆者も苦手だと感じる一人です)。
そんなユーザーのために登場した新機能が、この「例を使用してデータを書式設定する」です。「式」を入力するタブをクリックすると、現在はこの項目が一番上に表示されるようになっています。
「例を使用して……」という機能名はややわかりにくいですが、触ってみればどういうものなのかはすぐにわかると思います。実際にワークフローを作りながら、この機能を利用してみましょう。
1-1. メールアドレスを使いたい形にする
今回は「受信したメールの添付ファイルを、OneDriveに自動保存するワークフロー」を作成すると想定します。
ただし、差出人のメールアドレスを付けたフォルダを作り、そこに添付ファイルを保存します。また、フォルダ名が長くなるのを防ぎたいので、メールアドレスからユーザー名の部分だけを取り出して利用することにします。
今回はトリガーにOffice 365 Outlookコネクタの「新しいメールが届いたとき(V3)」アクションを利用します。
ドメイン名を含む差出人のメールアドレス全体は、Office 365 Outlookコネクタの「動的なコンテンツ」として取得できますが、そこからユーザー名だけを取り出すためには「式」を使ってメールアドレスを整形する必要があります。
メールアドレスのうち「@」より前の部分を取り出せればよいはずですが、そのためにどんな関数を使って「式」を書けばよいのかがわかりません。調べるのも面倒です。そこで「例を使用してデータを書式設定する」機能の出番となります。
トリガーを作成したら、次のアクションには「データ操作」コネクタの「作成」を指定します。そのうえで「例を使用してデータを書式設定する」機能を確認してみましょう。
1. データ操作コネクタの「作成」アクションを選択
2. タブの「式」をクリック
3. 「例を使用してデータ書式設定する」をクリック
「例を使用して……」をクリックすると、利用可能な「動的なコンテンツ」一覧表示されます。今回は差出人のメールアドレスを整形したいので、ここから「差出人」を選択します。
上図の①「差出人の値の例」と②「希望する出力」は対になっており、「①の値が入力されたら②の形で出力したい」というサンプルを入力するかたちです。今回は①にメールアドレス全体を、②にそのメールアドレスのユーザー名部分を入力しました。
①と②を入力したら、③の「式を取得する」ボタンをクリックします。
下方に「提案された式」が表示されます。「テスト値」に別のメールアドレスを入力して「テスト」ボタンをクリックすれば、この式で本当に望む結果(出力)が得られるかどうかを確認できます。
別のメールアドレス(aaa.bbb@xxx.co.jp)でテストしても、ユーザー名だけ(aaa.bbb)が出力されました。いくつかのメールアドレスを使ってテストして、「提案された式」に問題ないことが確認できたら、下方にある「適用」ボタンをクリックします。
なお始めてこの機能を使う場合は、画面に上図のようなウィンドウが表示されます。注意書きを読んだうえで「OK」をクリックします(「今後は表示しない」にチェックを入れておくのがおすすめです)。
図のように、自動生成された「式」が入力され、クリックすると式エディタでその内容も確認できます。
1-2. 受信日時の形式を整形する
続いて、この機能を使ってもう少し複雑な式を自動生成してみましょう。先ほど想定したワークフローで、今度は「ファイル名に受信した日時を追加して保存する」ことにします。
トリガーに使用しているOffice 365 Outlookコネクタの「新しいメールが届いたとき(V3)」アクションでは、「動的なコンテンツ」としてメールの受信日時も取得できます。ただし取得できる値は「2022-11-30 10:30」といった書式なので、これを「2022年11月30日 10時30分」といった少し複雑な形に整形したいと思います。
先ほどの「1-1. メールアドレスを使いたい形にする」と同様に、「データ操作」コネクタの「作成」アクションを使って「例を使用してデータを書式設定する」機能を試します。
まずは整形対象とする「動的なコンテンツ」として「受信日時」をクリックします。
続いて例を入力します。先ほどと同様に①「受信日時の値の例」と②「希望する出力」にサンプルとなる日時を入力します。
なお今回は「2022年1月3日 09時05分」のように「月/日が1ケタの場合は1ケタで表示」「時/分が1ケタの場合でも2ケタで表示」したいと考えました。そこで「+例を追加する」をクリックして、形式の異なるいくつかの例を入力しました。入力する例の数が多いほうが、正しい式が提案されやすいです。
例を入力したら③「式を取得する」ボタンをクリックします。
少し待つと上図のような、かなり複雑な式が提案されました。この式で本当に望む結果が得られるかどうか、テストしてみましょう。
いくつかのパターンでテストしましたが、期待通りの結果が得られました。この式で問題なさそうです。
もしも「出力」結果が望むとおりのものでなかった場合は、①「受信日時の値の例」と②「希望する出力」のパターンを増やしてみてください。
提案された式に問題がなければ、「適用」をクリックして「式」を入力します。
2. 最後に
今回試したとおり、「例を使用してデータを書式設定する」機能を使えば比較的複雑な書式の整形を行う「式」も自動生成できます。これまで「式」に苦手意識を持っていた方も、これならば積極的に「式」を利用したいと思われるのではないでしょうか。
また「式」を使いこなせる方でも、複雑なデータ整形を行うための「式」を書くのは面倒だと思います。まずはこの機能で「式」を自動生成させて、その「式」に手を入れる(修正する)といった使い方も便利だと思います。
データの整形を思い通りに行えれば、Power Automateでできることが一気に増えます。ぜひこの新機能を活用してみてください。
この連載の記事
-
第44回
Team Leaders
契約書を確実に期限管理! SharePoint+Power Automateで期日通知を自動化 -
第43回
Team Leaders
社内からの質問に自動回答! AI Builder+ノーコードでQ&Aボットを作ろう -
第42回
Team Leaders
Power Automateで複数人の承認(多段階承認)ワークフローを簡単作成しよう -
第41回
Team Leaders
重要なTeamsメッセージの見失い/見落としを防ぐPower Autometeのフローを作ろう -
第40回
Team Leaders
クラウドフローからデスクトップフローを「Picture-in-Picture」で起動する -
第39回
Team Leaders
面倒なカレンダー登録作業を生成AIで自動化するワークフローを作ろう -
第38回
Team Leaders
生成AIに日本語プロンプトで指示を出し、メールから情報を抽出してもらおう -
第37回
Team Leaders
フォルダー内のすべてのファイルを添付してメールを自動送信するフローを作ろう -
第36回
Team Leaders
ローカルPCのテキストファイルをPower Automateに読み込ませて活用しよう -
第35回
Team Leaders
受信メールの添付ファイルを種類に応じたフォルダに自動保存する -
第34回
Team Leaders
Power AutomateでTeamsのチーム全員にメンションを送る方法 - この連載の一覧へ