見出し画像

RPA(Power Automate)でkintoneの関連レコードの集計をやってみた

はじめに

個人的kintoneで欲しい標準機能No.1は「関連レコードの集計」です。

これを実現するために、プラグインを導入したり、JavaScriptを書いたりしている人は多いのではないでしょうか?

ですが、標準機能(ライトコース)ではできません。

関連レコードの集計は標準機能ではできない

今回はRPAを使って、関連レコードの集計をやってみました。

この記事をおすすめしたい方

  • ライトコースだけど関連レコードを集計したい

  • パソコンを使わないときに、ポチっと押して集計して欲しい

  • 難しいプログラミングはわからない

RPAを使わない方法で集計したい方は、プラグインなどをご活用ください。

今回は、レコードをひとつずつ開いて関連レコードを集計する方法で一括更新をやってみました。

準備したもの

設定した関連レコード集計の仕組み

RPAで次の処理を繰り返すという仕組みです。

  1. 詳細画面を開く

  2. 編集画面にする

  3. 「関連レコード」の値を集計して、集計値をフィールドに入力する

  4. 保存する

  5. 次のレコードの詳細画面を開くを繰り返す

1,2,4,5については、こちらの記事で使った処理を利用します。

この記事では、次のようなループ処理をしています。

記事で紹介した一括更新処理のイメージ

①キーの送信:e(編集する)
②キーの送信:Ctrl+s(変更を保存する)
の間に処理して欲しい作業を組み込めばOKです。

ループ処理の部分はメインフローとして固定しておいて、処理して欲しい作業をサブフローとして追加するとメンテナンスしやすくなります。

サブフロー追加のイメージ

今回は、このサブフローに関連レコードを集計する処理を設定します。

設定方法

今回設定したサブフローの部分のみ紹介します。
ざっくりした説明になりますが、次のとおりです。

Power Automate(サブフロー①)

関連レコードをHTMLテーブルレコードとして抽出します。
抽出したテーブル行数を変数に設定します。

Power Automate(サブフロー①)

Power Automate(サブフロー②)

行数分ループして値を集計します。
今回、値に単位"円"が付いているので"円"を切り取った後、テキスト形式から数値形式に変換して集計をします。
関連レコードが空の場合は、サブフローを終了させます。

Power Automate(サブフロー②)

Power Automate(サブフロー③)

集計した値をフィールドに入力します。
ここでは、件数(行数)と金額(集計値)を入力しています。
次のレコードに行く前に、集計値の変数をリセットするため"0"を割り当てます。

Power Automate(サブフロー③)

Power Automate(メインフロー)

メインフローのループ処理に、作成した「サブフローの実行」を追加します。

Power Automate(メインフロー)

設定したフローを実行してみると

Power Automateのフローを実行してみます。
画面がうにうに動いて、「編集」→「関連レコードの集計値をフィールドに入力」→「保存」して、「次のレコード」に移っていきます。

関連レコードの集計値がフィールドに入力された
一括処理のフローと組み合わせることで、
すべての関連レコードの集計値がフィールドに入力された

おわりに

時間はかかる処理ですが、パソコンを使わない時間にRPAを実行しておけばいいので、関連レコードの集計値をマスタアプリなどに入力したいときはおススメです。

今回は試していないのですが、関連レコードは一度に表示するレコード数が最大50なので、これを超える場合は、今回のフローだけでは恐らく集計はできないと思うので、件数が多そうな場合は注意が必要です。

RPAは試行錯誤ですが、色々なフローをつくっていくうちに、新しい発見があるので、たくさんつくってみるという経験が大事だと思いました。

最後まで読んでいただき、ありがとうございました。

いいなと思ったら応援しよう!