このページの本文へ

松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第20回

入力/出力のサンプルをいくつか指定するだけで「式」を自動生成してくれる

面倒な「式」が簡単に書ける! Power Automateの新機能「例を使用してデータを書式設定する」

2022年11月30日 08時00分更新

文● 松本典子 編集● 大塚/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 こんにちは、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ケタで表示」したいと考えました。そこで「+例を追加する」をクリックして、形式の異なるいくつかの例を入力しました。入力する例の数が多いほうが、正しい式が提案されやすいです。

 例を入力したら③「式を取得する」ボタンをクリックします。

提案された式

 少し待つと上図のような、かなり複雑な式が提案されました。この式で本当に望む結果が得られるかどうか、テストしてみましょう。

テスト結果 その1

テスト結果 その2

 いくつかのパターンでテストしましたが、期待通りの結果が得られました。この式で問題なさそうです。

 もしも「出力」結果が望むとおりのものでなかった場合は、①「受信日時の値の例」と②「希望する出力」のパターンを増やしてみてください。

 提案された式に問題がなければ、「適用」をクリックして「式」を入力します。

2. 最後に

 今回試したとおり、「例を使用してデータを書式設定する」機能を使えば比較的複雑な書式の整形を行う「式」も自動生成できます。これまで「式」に苦手意識を持っていた方も、これならば積極的に「式」を利用したいと思われるのではないでしょうか。

 また「式」を使いこなせる方でも、複雑なデータ整形を行うための「式」を書くのは面倒だと思います。まずはこの機能で「式」を自動生成させて、その「式」に手を入れる(修正する)といった使い方も便利だと思います。

 データの整形を思い通りに行えれば、Power Automateでできることが一気に増えます。ぜひこの新機能を活用してみてください。

カテゴリートップへ

この連載の記事