Power AutomateでExcelファイルをマスタテーブルとして運用する方法

プログラミング

はじめに

Power Automateを活用することで、業務自動化を効率よく進めることが可能だ。
しかし変数の取り扱い方が、一般的なプログラミングのやり方とは違い、変数1つに対してそれぞれアクションを持たせなければならず、複数取り扱うとなると、非常にフローが縦長になってしまいがちである。
どのように変数を取りまとめて保守性と可読性を向上させればよいか悩む方は多いだろう。
そこで、わたくしはExcelファイルをマスタテーブルとして運用する方法を確立した。この方法を運用することで、変数の保守性と可読性を向上させることが可能だ。

この記事では、ExcelファイルをPower Automateでマスタテーブルとして運用するための具体的な手順を解説する。
例として「くだものマスタ」というExcelファイルをPower Automateに読み込み、JSON解析し、フロー内でデータを変数に割り当てる方法を紹介する。

準備・使用するもの

項目 詳細
OneDrive Excelファイルを格納先
Power Automate Excelを読み込むフローを作成・編集
くだものマスタ.xlsx マスタデータとして使用するExcelファイル

手順の概要

1. 事前準備

Excelファイルの準備

今回は次のようなデータを使って、Power Automateで運用するマスタテーブル「くだものマスタ.xlsx」を作成する。
このデータは行ごとのNo、Noに紐づく商品名・価格が書かれている。
Power AutomateがExcelファイルを読み込む為には、データをテーブル形式にしておく必要がある。その為テーブル名を「table_1」として定義する。

その後、くだものマスタ.xlsxをOneDriveに保存する。

Power Automateのフローを準備

次に、Power Automateでマスタテーブルを読み込むフローを準備する。
トリガーアクションは任意のものを選択して新規作成する。既存のフローに追加したい場合は対応不要。 今回は「手動でフローをトリガーします」を選ぶ。

2. マスタの読込

  • アクション:「Excel Online(OneDrive)」から「テーブル内の行を一覧表示」を選ぶ。
  • パラメータ設定
    • ファイル:「くだものマスタ.xlsx」を選択
    • テーブル名:定義したテーブル名「table_1」を選択

3. データをマッピングする

次にマスタから取得したデータをマッピングする。 マッピングしたデータはJSON形式のデータとして扱われる。

  • アクション:「データ操作」カテゴリーから「選択」を選ぶ。
  • マップのパラメータ設定
    • キー:テーブルの項目を入力する。
    • 値:テーブルの項目を動的な変数から指定する。

4. データを解析

次に、マッピングしたデータをを解析し、変数として使用可能なデータにする。

  • アクションの追加:「データ操作」カテゴリーから「JSONの解析」を選ぶ。
  • パラメータ設定
  • コンテンツ:「選択」→「本文」を設定する。
  • スキーマ:以下の手順を参考に生成したスキーマを設定する。

スキーマの生成手順

  1. サンプルのペイロードを使用してスキーマを生成をクリック。
  2. 以下のサンプルを入力してJSONのスキーマを自動生成する。

■サンプル

[
  {
    "No": "1",
    "商品名": "りんご",
    "価格": "100"
  },
  {
    "No": "2",
    "商品名": "バナナ",
    "価格": "150"
  },
  {
    "No": "3",
    "商品名": "オレンジ",
    "価格": "200"
  }
]

■生成されたスキーマ

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "No": {
                "type": "string"
            },
            "商品名": {
                "type": "string"
            },
            "価格": {
                "type": "string"
            }
        },
        "required": [
            "No",
            "商品名",
            "価格"
        ]
    }
}

※typeで「array(配列)」を宣言し、itemsで配列に格納する変数の「title(名称)」と「type(型)」を宣言していると理解すればOK

4. 解析したデータを変数として表示させてみる

作成アクションの中に、解析したデータを動的な変数で呼び出し表示するように設定 また、呼び出した変数のtpyeが「array」であった場合、
配列の変数であるため、自動的に「Apply to each」(ループ)にネストされる形で追加される。

  • アクション:「データ操作」カテゴリーから「作成」を選ぶ。 –作成の設定:動的な変数を項目ごとに呼び出し設定

5. フローを保存

フロー名を任意のものに修正後、保存ボタンをクリックする。

緑色のバーで「フローを開始する準備ができました。テストすることをお勧めします。」と表示されたらテストの準備完了となる。

5. フローのテストを実行

メニューバー上部のテストボタンをクリックする。

サイドバーが表示されるので、手動を選択し、「フローの実行」ボタンをクリックする。

テストが完了すると、サイドバーに以下のように表示される為、
フローの実行履歴ページへ移動し、実行した結果を確認する。

くだものマスタから変数をすべて取得できていることを確認

まとめ

以上の手順を実践することで、Power AutomateでExcelファイルをマスタテーブルとして運用することができる。
この手法は業務の効率化や自動化を大幅に進めることができ、多くの業務シナリオで応用可能だ。

コメント