営業企画部 のすべての投稿

連載コラム
『RPA活用事例』

第6回 Redmineを操作

2020.11.6

業務背景

Redmineはプロジェクト管理を行うのによく使用されるツールです。

しかしRedmine環境にアクセスできない現場の場合、EXCEL台帳に別管理しているという方も多いのではないでしょうか。

情報の一元化の観点から、EXCEL台帳の情報をRedmineに入力している現場も多いと思いますが、この入力作業は二重作業となる上手間がかかる作業です。このような二重作業はロボットに行ってもらい業務の負担を減らしましょう。

今回紹介するのはそのような事例です。

Redmineを利用したことがない方にとってはイメージしにくい事例かもしれませんが、とある台帳から別の台帳に書き写すという“二重作業”を解消する一例としてお読みください。

 

ロボットの概要

※下記文中では弊社製RPAツールecoLLabo RPAでの操作をご紹介していますが、他社製のツールでも同じような定義は作成できると思いますので、画像や手順を読み替えてご参照ください。
 
 

今回は「EXCEL台帳に以下のようにプロジェクト毎に課題管理を行っており、この内容をRedmineに入力する」という事例を考えてみましょう。

この台帳を1件目から最終行に達するまで読み込みながら、内容をRedmineに転記していくロボットを作成してみます。

Redmineではプロジェクト毎にチケットを管理し、該当プロジェクト内で新しいチケットを発行するという方法がよく採られます。つまりプロジェクト名が変わると、プロジェクト名を選択し直して新しいチケットを発行するという動きが必要になります。

この動きを実現するカギが「コントロールブレイク」です。

コントロールブレイクとは「特定の項目を監視して項目の値が変化した時になにがしかの処理を行う」という処理なのですが、「プロジェクト名」を監視対象の項目とすると

① プロジェクト名が同じでない場合…プロジェクト名を選択した後、新しいチケットを発行する。

② プロジェクト名が同じ場合…プロジェクト名を選択せず新しいチケットを発行する。

と異なるチケット発行方法を使い分けることができます。

特定の項目を監視するには、一つ前の行の値と現在の行の値を比べれば良いということになります。

上図のようなフローを作成すればoldPnameという変数に1つ前の行のプロジェクト名が、newPnameという変数に現在の行のプロジェクト名が格納されていますので、両者を比較することによって「プロジェクト名が変わったからプロジェクトを切り替えてから他の項目を転記」しなければいけないのか、「プロジェクト名が変わっていないからそのまま他の項目を転記」すればよいのかという動作の切り分けができるようになります。

 

まとめ

“コントロールブレイク”と言ってしまうといささかプログラムチックになり敬遠してしまうかもしれませんが、今回取り上げた例のように簡単な制御を組み込むだけでロボットがこなしてくれる業務の幅が広がることを実感していただければ幸いです。

 

連載コラム
『RPA活用事例』

第5回 バラバラのデータを取りまとめて一枚のレポートに

2020.9.9

 

業務背景

EXCELやWEBなどバラバラに散らばっているデータから必要な情報を抜き出し、一枚のレポートとしてまとめ、一目で分かる状態にできれば便利ですよね。
しかし、レポート作成作業は手間がかかると感じる場合も多いのではないでしょうか。そこでレポート作成作業をロボットに代行してもらいましょう。
今回紹介するのはそのような事例です。

 

 

 

ロボットの概要

※下記文中では弊社製RPAツールecoLLabo RPAでの操作をご紹介していますが、他社製のツールでも同じような定義は作成できると思いますので、画像や手順を読み替えてご参照ください。
 
 

今回は「自社製品紹介WEBサイトから5点満点のユーザーレビュー点数、EXCELにまとめてある在庫データから在庫数を取得し、一枚のレポートにまとめる」という事例を考えてみましょう。

ExcelからExcelに転記するだけであればマクロ機能を使うこともできますが、今回の例のようにWEB画面からの情報を取得する場合は、人の操作をなぞって自動化のシナリオを構築できるRPAの利点が活きてきます。

 

まず、ロボットで行う処理の流れを考えてみましょう。

①在庫データ(EXCEL)を開く。

②在庫データの製品名、及び在庫数をコピー

③レポートに貼り付け。

④自社製品紹介WEBサイトを開く。

⑤自社製品紹介WEBサイトのユーザーレビュー点数をコピー

⑥レポートに貼り付け。

このような流れになると思います。

 

上記の流れを見て分かるように、今回のロボットの特徴として、操作対象となる画面が②在庫データ→③レポート→⑤WEBサイト→⑥レポートという風に頻繫に遷移していることが挙げられます。

このような特徴のあるロボットを作成する時に有効なのが、待機処理です。

例えば、②の在庫データからデータをコピーする命令はctrl+C、③のレポートに貼り付ける命令はctrl+Vなのですが、レポートに切り替わった後でctrl+Vをしないと正しくデータが貼りつきません。なので、ロボットに「レポートに切り替わるまで待ってからctrl+V」という動きを指示しないといけません。

 

待機処理には

A:一定秒数待つ

B:ある状態になるまで秒数を決めずに待つ

という方法があります。

A方式の方が単純なのですが秒数を決めるのが少々難しいことがあります。待機秒数が短すぎると肝心な画面切り替わりができていないうちに次の処理に入ってしまう可能性もありますし、長すぎると既に画面は切り替わっているのに次の処理に進まないという無駄な待ち時間が発生します。

確実な待機時間が算定できない場合は、B方式の方がすぐれているでしょう。

 

まとめ

今回の例の「在庫データから在庫数を転記する」「自社製品WEBサイトから口コミ点数を転記する」という作業は定型の操作なので、必ずしも人間が実施しないでもロボットに代行させることができます。

この業務をロボットに実現させて時間、手間を浮かせることで、人間は「在庫数と口コミ点数の相関を分析し、販売戦略をたてる」という、より創造的な仕事に注力することができます。

 

連載コラム
『RPA活用事例』

第4回 期限切れ注意喚起メールの送信

2020.7.20

 

業務背景

今回取り上げるお題は「提出期限が迫っているのに未提出な人にリマインドメールを投げる」という業務です。年末調整等の庶務系の書類を収集する時にありがちな業務ですね。

 

ロボットの概要

※下記文中では弊社製RPAツールecoLLabo RPAでの操作をご紹介していますが、他社製のツールでも同じような定義は作成できると思いますので、画像や手順を読み替えてご参照ください。
 
 

今回の処理も前回と同様、リストを1件目から最後まで繰り返すのが業務の軸になります。その繰り返しの中で未提出の人を探し出してメールを投げるというのが一連の処理です。

前回同様、開くファイルを宣言するのはもちろんですが、同時に何列目にどんな情報が入っているかを宣言しておきます。

ここでは

1列目=name=提出者名

2列目=date=提出期日

3列目=mail=提出者のメールアドレス

が入っているのを表しています。

CSVファイルに入っている情報は以下の通りです。

※ecoLLabo RPAの基本機能ではCSVファイルを読み込むことになりますので、当業務例ではExcelを最初にCSV形式で保存し直しています。

 

以上で準備が終わりましたので、メインの処理に入ります。

メインの処理を作るカギが「変数の使用」です。

今回の処理の期日について考えてみましょう。社内で扱う様々な書類の提出期日が毎年同じということは少ないのではないでしょうか。例えば年末調整の書類の期日が2019年度は12月10日、2020年度は12月20日という場合です。ここでポイントとなるのは期日が同じ日付ではなく、“変化する”ということです。

このような場面に変数が登場します。

変数とは、洋服を入れる収納棚のようなものだと考えて下さい。収納棚には自分の好きな洋服を入れることができますよね。

今回の例でいうと、収納棚の中に自分の好きな期日を入れます。2019年度12月10日を入れたければ20191210を入れます。

期日を入れる収納棚には名前をつけましょう。これが変数名に当たります。今回の例ではdeadlineとします。変数名は自身がどのようなものを入れたか分かるような名前にしておくと良いです。今回の例では期日を入れるのでdeadlineという変数名にしています。

収納棚は洋服を入れる前は何も入っていませんよね。deadlineという名前の収納棚の中に最初に20191210を入れたとします。20191210は変数deadlineに最初に代入した値という意味で、変数の初期値と呼び、この作業を変数の初期化と呼びます。

 

2019年度の期日が12月10日だとすれば、変数deadlineの初期値には20191210を設定すれば良いということになります。

 

2020年度の期限が12月20日に変更となった場合を考えてみましょう。変数の初期値には20201220を設定すれば良いということですね。

 

変数deadlineを使い、処理を組み立てると以下のようになります。

 

この処理のポイントは期日チェックです。

期日チェックではCSVファイルの提出期日の情報すなわちdateと変数deadlineの値を比べます。

前回同様、繰り返しの終了条件は「Excelファイルが最終行に達するまで」です。繰り返しはEXCELファイルが2行あるので、2回行われます。1回目の繰り返しでは、date:20191230とdeadline:20191210を比べ、山田太郎さんに催促メールを送信するか否か判定します。この場合、期日を過ぎていないのでスクリプトは呼びだされず、催促メールは送られません。

2回目の繰り返しではdate:20191205とdeadline:20191210を比べ、山田花子さんに催促メールを送信するか否か判定します。この場合、期日を過ぎているのでスクリプトが呼び出され、催促メールが送られます。

 

 

まとめ

今回の例では変数の初期値のみ書き換えれば、一度構築したロボットは期日が年度毎に変更されても使用することができますよね。

業務の中で変化するものは変数に入れることでロボットの修正は最小限で済み、保守性も向上します。業務の中で一度、「これは業務上、値が変化するのではないか。」「これは業務上、常に同じ値ではないか。」と問いかけてみてください。すると、自ずと変数にすべきものが見えてくるはずです。

 

2020年度新入社員の入社式を行いました!

2020年4月1日(水)、2020年度新入社員の入社式を執り行いました。
アルコール消毒や出席者の間隔を2メートルずつあけて実施する等、異例の形の式となりました。
入社式では、社長からの新入社員へのお祝いの言葉とともに、歓迎の意と今後心掛けてもらいたいこととして、

1.自ら考え、自ら行動できる社員になる。

2.プロの自覚と向上心を持ち続ける。

3.いつも感謝の気持ちを忘れず、周りの人から信頼される人になる。

の3点をメッセージとして贈りました。

また、新入社員代表挨拶として、
「社会人としての責任と自覚を持ち、会社発展のために力を尽くしていきます。」
という真摯な答辞が述べられました。
本来開催される予定であった新入社員との懇親会が中止となり残念ではありましたが、無事に新入社員32名を迎えることが出来、今後の活躍により一層期待が高まりました!
現在、新入社員は在宅勤務でのWeb研修を実施していますが、いち早く新型コロナウィルスの感染が終息することを祈るとともに彼らが安心して新入社員研修に取り組められるよう、会社として精一杯サポートしていきます。