Excelのピボットテーブルは、ある表データを基に集計した別表を出力する機能です。例えば売上表を基にして、四半期ごとの売り上げ、商品ごとの売り上げ、都道府県ごとや支店ごとの売り上げなど、分析に役立つ様々な集計データを別表として作ることが出来ます。
ただし、Excel上でピボットテーブルを作成するためにはフィールド選択や集計方法の指定など、面倒な操作を行う必要があります。
このピボットテーブルの作成を UiPath Studio X を利用して自動化してみます。(所要時間は1時間程度)
今回解説する内容は公式チュートリアルの「Creating a Pivot Table」
https://docs.uipath.com/studiox/docs/tutorial-creating-a-pivot-table
に沿った内容です。あらかじめ上記のサイトにアクセスし、最下部の Download example ボタンより、チュートリアルで使用する Suppliers.xlsx (を含むプロジェクトファイル)をダウンロードしておく必要があります。
また、今回の手順の途中で全てのExcelブックを閉じる可能性がありますので、Excelで編集中のデータなどがある場合は保存しておきましょう。
それではさっそく自動化プロジェクトを作成していきましょう。まずはホーム画面で「空のタスク」を選択してプロジェクトを作成します。
プロジェクトの名前は何でもよいですが、わかりやすく「ピボットテーブル作成自動化」としましょう。場所は「C:\UiPath」を指定します。
この設定でプロジェクトを作成すると自動で「C:\UiPath\ピボットテーブル作成自動化」というディレクトリが作成されます。
公式チュートリアルからダウンロードしてきたプロジェクトファイル「ExcelCreatePivotTable.zip」を解凍すると、Suppliers.xlsxという名前のファイルが含まれていますので、これを今回作成したプロジェクトのディレクトリである「C:\UiPath\ピボットテーブル作成自動化」
にコピーしましょう。
コピーが完了しました。
次にExcelファイルを使用アクティビティをデザイナーパネルにドラッグアンドドロップします。
この状態だと使用するExcelファイルが指定されておらず、赤いビックリマークが表示されています。
ファイルを参照ボタンを押してExcelファイルを追加します。
先ほどプロジェクトディレクトリにコピーした Suppliers.xlsx を選択します。
参照名には「サプライヤ」と入力します。参照名は、このワークフローでExcelファイル同士を区別するための、あだ名のようなものです。
MEMO:自動化の対象データがmonthly.xlsx のような一般的な名前で、ファイル名の変更が出来ない場合でも、参照名に「全店舗の月次集計データ」のようにわかりやすい名前を入れることで、その後のワークフロー作成の際にファイルの用途をわかりやすくし、ミスを減らすことが出来ます。
Excel ファイルを使用アクティビティが配置されました。次に、Excelファイルを使用アクティビティの「ここにアクティビティをドロップ」をクリックすると、Excel ファイルを使用アクティビティから連携可能なアクティビティをリストから選択することが出来ます。
今回はピボットテーブルを作成しますので「ピボットテーブルを作成」アクティビティを選択します。
次に、ピボットテーブルを作成するための入力範囲を指定するため、元の範囲の右端についているプラスマークをクリックします。
今回は Excelを直接操作して指定しますので [サプライヤ] > [Excel 内で示す] の順に選択してください。
もしこの際に以下のようなエラーメッセージが表示された場合はアドインをインストールする必要があります
UiPath Excel アドインに接続できませんでした。[ホーム] > [ツール] > [Excel拡張機能] にアクセスしてUiPath.ExcelAddIn がインストールされていることをご確認ください。
UiPath Studio への Excel アドインのインストール
アドインはホーム画面のツール目乳にある拡張機能一覧からインストールが可能です。UiPath のホーム画面に遷移し、[ツール] > [Excel アドイン] の順に選択します。
その際に、下記のようなメッセ―ジが表示される場合がありますので、Excel で未保存の作業、データがある場合はすべて保存してExcelを閉じておきましょう。
インストールが完了しました。
それでは自動化タスクの作成に戻ります。アドインが入っているのであれば、 [サプライヤ] > [Excel 内で示す] を選択した際にこのようなアドインつきのExcelが表示されます。
Extenal Nameは社名、Industryは業種、Number of employees は労働者数、Cityは都市を表しています。
今回はこのExcelのデータから20行をピボットテーブルの作成に使いたいため、A1セルからL21セルまでを選択します。
これでピボットテーブルを作成アクティビティの「元の範囲」の値が設定されました。
続けて、新しいテーブル名には「都市ごとの労働者数」、対象範囲にOutputシートを指定しましょう。それでもまだ赤いビックリマークで「このアクティビティを使用するには少なくとも1つの子アクティビティが必要です」が表示されます。
実は、ピボットテーブルを作成アクティビティにはピボットテーブルフィールドを追加する必要があります。アクティビティ下部の「ピボットテーブルフィールドを追加」ボタンをクリックして、フィールドを追加していきましょう。
フィールドに [Range] > [City]を選びます。ピボットテーブルの種類は [行] のままでよいです。
このようになりました。
この状態でも実行はできるのですがピボットテーブルのピボット(軸)が都市名であることが決まっただけですので、対象範囲にある都市名が抽出されるのみです。
続いて「ピボットテーブルフィールドを追加」を利用して、
フィールド:Internal Name
ピボットテーブルの種類:値
関数:Count
フィールド:Number of Employees
ピボットテーブルの種類:値
関数:Count
を追加します。
このままだと各フィールドの役割がわかりづらいので、各フィールドのタイトルバーをクリックしてわかりやすい名前をつけましょう。今回は「都市ごと」「会社数」「雇用者数」としました。
実行すると、Outputシートにこのようにピボットテーブルが作成され、表示されました。
今回、ワークフローが一画面を超えた長さとなりましたが、右下の概要ボタンにてミニマップを表示することが出来ます。
こちらが今回作成したワークフローのミニマップです。
また、デザイナーパネル上でワークフローの拡大縮小表示が可能です。右下のズーム率のテキストボックスからズーム率を調整できるほか、画面に合わせて全体を表示することもできます。
こちらが「画面に合わせる」を押した直後です。見づらいですが、ワークフロー全体が一画面に収まるように表示されています。
ここまでが UiPath で ピボットフィールド を作成するまでの手順です。こちらは公式チュートリアルに沿った内容ですので、同様の内容は公式のチュートリアル
https://docs.uipath.com/studiox/docs/tutorial-creating-a-pivot-table
からも実施可能です。(一部日本語化されています)
次回は、Google ChromeなどWebのAutomation の手順をまとめたいと思っています。それではまた。