2023.02.03
本シリーズでは、Power Automate Desktop※を活用して業務効率化に役立てる方法をご紹介しています。
今回は、データを加工することに適したDatatable型についてご紹介します。
Datatable型の扱いをマスターすることでWebブラウザ等から抽出したデータをエクセルやCSVにまとめる作業を自動化できるようになります。リストの作成やデータ収集の効率化を考えている方に特におすすめです。
※Power Automate Desktop (PAD)とは?
MicrosoftがWindows10ユーザー向けに無償で提供しているPC自動化ツールです。
プログラミングなしでPCの操作を自動化できます。
本コラムでは当ツールの活用方法をご紹介しています。
インストール方法はこちら
1.今回のテーマ Datatable型とは
2.Datatable型の扱い方
3.まとめ
Power Automate Dasktop(PAD)でのデータテーブルとは、Excelのように行と列で構成される、表形式のデータ型です。
Datatable型の変数はExcelからデータを読み取った際や、Webページの表からデータを読み込んだ際に生成されます。データの行や列ごとに処理ができるため、データの加工・整形に活用できます。
Datatable型変数の中身は下表のように行と列からなる表形式のデータです。2次元配列とも呼ばれ、1行を1件のデータとして、それが縦方向に並んでいます。
表の1行目は『ヘッダー』と呼ばれ、列ごとの項目名が格納されています。データとして使用する値は2行目以降に格納されます。
それでは、上記の表を使ってPADでのデータテーブルの扱い方を解説していきます。
まず、表からデータを読込んでDatatable型の変数を作成する方法を紹介します。
Excelからデータを読み取って作る方法と、ブラウザから読み取って作る方法が主流ですが、今回はExcelから作成します。
使用するアクションは以下の2つです。
順番に見ていきます。
①. Excelの起動
②.Excelワークシートから読み取る
次に、表の中から任意のデータを取り出す方法を紹介します。
『1行目』の『氏名』(「和井 菱雄」)をPADのデータテーブルで取得するには、
表(Datatable型変数)に対する行番号と列名
を指定する必要があります。詳しく見ていきましょう。
●行の取得
●列の取得
PADでデータテーブルを扱う場合、表データの各行で共通の処理を行うことがほとんどです。そこで使用するのが「ループ」アクションです。
「ループ」アクションは以下の3種類です。どれも反復処理を行うという点では同じです。
A) For each
B) Loop
C) ループ条件
順番に見ていきます。
①. For each
②. メッセージを表示
表の中から特定の列だけを取り出すには、「データテーブル列をリストに取得」アクションを使用します。
ここで、取り出した列はリスト型変数に格納されます。
リスト型変数は、1列だけのDatatableだと思ってください。Datatableとの違いは、ヘッダー行がないことです。
逆に言うとDatatableとは、複数のリストを横に並べてヘッダー行を付けたものと言えます。
それでは早速「UserList」から『氏名』を取り出してみます。データテーブルにUserList、列名に氏名を指定します。
生成された変数「ColumnAsList」には氏名のリストが格納されます。
リスト内の値を取り出すには「ColumnAsList[0]」のように行番号を指定します。
また、リストのままメッセージに表示することもできます。
以上で任意の列を取り出すことが出来ました。
PADでデータを扱う場合、フェーズを以下の3つに分けることが出来ます。
この3つの中で最も融通が利かないのが②の加工です。
というのも、大量のデータをPADで加工しようとすると、必然的に『リスト』や『Datatable』をループ処理することになるからです。
どのようなデータを扱う場合でも、加工する際は一行一列の一つの値に対して処理を行うことになりますので、データをどのような形で取得するのかが非常に重要になります。
最終的にどのような形式のデータが欲しいのかを明確にしたうえでデータの加工手順を考えていくと取得したいデータの形が見えてくるかと思います。
慣れないうちは難しいですが、PADでのデータの扱いは創意工夫の見せどころです。是非チャレンジしてみてください。
あなたの疑問は解決しましたでしょうか?解決しなかった場合は直接質問も受け付けております!
執筆者にメールで質問する
記事を書いた人
株式会社ワイ・ビー・シー
営業部 開発チーム
白川
PADに関連する記事はこちら
第1回 入門編 業務を自動化して作業を楽に
第2回 活用事例 メールの添付ファイルを自動保存
第3回 活用事例 Webページからデータを抽出しエクセルに転記
第4回 活用事例 無償アカウントでもフローを共有してさらに便利に!
第5回 活用事例 フローの不具合を見つけて直す
第6回 活用事例 表形式データのDatatableを活用しよう!
第7回 活用事例 「データテーブル」アクションを使いこなそう!
第8回 活用事例 面倒な複数箇所への転記作業はまとめて自動化!
第9回 活用事例 【続】面倒な複数箇所への転記作業はまとめて自動化!
第10回 活用事例 【続々】面倒な複数箇所への転記作業はまとめて自動化!
第11回 活用事例 PADで四則演算!
第12回 活用事例 条件分岐を使いこなせ!エラーを減らすフロー設計
第13回 活用事例 フロー実行時のエラーには例外処理を!①