Power BIとRPAで全自動レポートを作る方法
こちらのPower BIレポートは、日経平均採用銘柄の株価の動きを分析するために作った日次レポートですが、
データの収集→データの加工→ビジュアル化→データの更新までの全ての工程が全自動となっています。
そのため、このレポートを作るために私が日々やっていることとしては、
-ちゃんとPCがWi-Fiに接続できているかどうか
-データ収集先のデータソースのフォーマットが変わっていないか
-RPAがしっかりデータを収集できているかどうか
を確認するぐらいで、運用の手間がほとんどかかっていません。
このレポートは個人用に趣味半分で作ったものですが、実際に企業様向けにPower BIレポートを開発するときも同じように、自動化できるところは可能な限り自動化するようにしていますし、
この点はまさにここ数年でいっきに普及が進んだRPAツールやPower BI等のBIツールといったクラウド製品をビジネスに取り入れることの大きなメリットだと感じます。
データの更新プロセスを全自動にしてしまえば、例えばデータの更新頻度を1日毎での短期スパンで更新することも運用上苦になりませんし、もっと言えば、30分毎といったセミリアルタイムでデータを更新していくことも実現可能です(実際は1日おきぐらいが多いですが)。
あらゆる物事をデータを軸に素早く考えれる組織は強いですし、企業の競争力(サービスの品質、価格、生産性etc)を上げていくという点でも有効な方法だと考えています。
今後ますます取れるデータが増えていく時代が来ることを考えると、今のうちにその準備をはじめておくことが大切だと強く感じます。
そこで本記事では、Power BIを使って全自動レポートを作る方法について共有したいと思います。
Contents
そもそも何故全自動化するのか
まず「作業ミス」が減るので、作業精度が上がるというメリットがあります。
データを加工するプロセスというのは、関数を記述したりデータを転記したりと、細かい作業を伴います。転記場所を間違えたり、関数の参照先を間違えたりするリスクを減らすためにも、定型的な業務フローは自動化した方が作業精度は良くなります。
また単純に「時短」にもつながります。
正直関数を書いたり、データを転記するといった作業はつまらないので、そういったノンコアな業務はロボットに任せて、浮いた時間を新規レポートの開発に使った方が生産的です。
全自動化の方向性
Power BIには、「一定の時刻にデータを自動更新する」という機能と、出来上がったレポートを「一定の時刻に自動配信する」機能の2つの強力な機能を既に持っています。なので、この2つに関してはPower BI Cloud側で設定を進めます。
一方Power BIに取り込むデータを加工するといったプロセスや、元となるデータを収集するといったその他のプロセスは別のソフトを使って自動化対応する必要があります。
そこで、自分がおすすめなのが、1.VBA(データを加工)と2.UiPath(自動化を起動させるトリガーとしての役割)です。
VBA×UiPath×Power BIを組み合わせることで、PCの電源さえ起動した状態にあれば、完全全自動でデータの収集と加工→データの更新→レポートの配信を自動化することが可能となります。
まずはVBAでデータ加工プロセスを自動化
会社のソフトウェアからダウンロードしたローデータや人が手打ちで入力しているデータの場合、データ内に不要なデータが入っていたり、数値列に文字が混ざっていたり、スペースがあったり、余計な改行が含まれている場合があります。
データに不備があると、Power BIにデータを読み込ませる段階でエラーになるので、エラー内容を確認しながら1つずつ原因を突き止めて修正していく必要があるのですが、元のデータの構造変わることはそう多くはないので(たまにあるので定期的にチェックが必要なのですが)、データの不備の原因は毎回ある程度決まったものとなります。
そこでそのエラーを取り除く業務というのは定型化するので、VBAを使って対応します。
例えば、Excelに関数を入力するといった作業や、データを転記するといったプロセスは下図のようにVBAマクロで自動化しています。
私も最初は全くVBAマクロを触ったことがなかったですが、独学で勉強しました。
おすすめなのが、UdemyのExcel VBA[第1弾](超入門)エクセルが自動で仕事する!です。まずはこれでVBAマクロがどのように動くのか理解します。そして、独学でマクロが組めるところは自分で進め、自分で解決できない細かく難しいマクロの書き方のみ個別レッスンを受けます。
個別レッスンといっても単発1時間のコースなので、費用的にもかさみません。自分はいつもストアカ:オンライン個別_Excelー初級関数~VBA上級あなたカスタマイズを使わせていただいています。
このやり方が最もコスト的に優れている(最初から個別レッスンだと費用がかさむ)と考えます。
自動化のトリガーはUiPathで
データ加工プロセスをマクロで進めた後、例えば加工したファイルをサーバーに格納したり(パスワードが絡むとVBAでは難しい)、そもそもVBAを起動するといったプロセスを自動化するためには、UiPathで対応します。
UiPathは個人が無料で使えるRPAソフトで、業務自動化に使われるソフトです。2021年4月にNY市場で上場し、一時時価総額3兆円行きましたね。
下の画像はUiPathを使ってマクロを発動させるフローです。Unattendedというフローにしておくことで、UiPathが自動で一定の時刻に起動する仕組みとなっています。
このUiPathを使ってデスクトップ上の作業(そもそもExcelを開いたり、マクロを起動したり、データを移動させたり etc)を自動化するのです。
UiPathのおすすめの学習教材ですが、自分はUdemy:RPAコンサルタントが教えるUiPath Studioがおすすめです。これはスクレイピングというインターネットから情報を自動で収集するフローを作る方法も含まれているので、データ収集フローも自動化が可能です。
VBAと同じで、自分で対応ができないところに関しては、個別で聞くスタイルがおすすめです。ココナラ:UiPathで、その作業自動化しますなんかを使って、プロの方のやり方を盗むというのが最も効率的です。
ビジュアル化
データをPower BIに取り込むことができたら、Power BIでビジュアルを作成していきます。
ここで何故Power BIを使うのかという点ですが、Power BIにはDAX関数という計算式(Excelの関数みたいなもの)を作っておくことができるのですが、このDAX関数がとても優秀で、色んな計算式を表現することができます。
予め計算式を記述しておき、データが最新のものに更新されても、記述した計算式は消えず、もちろんレポートの見栄えも変わらず、データだけが最新のものに変わるという仕組みです。
毎月新しいDAX関数が生まれていて、Power BI Desktopをアップグレードすることで、ソフトを進化させていくことができます。
※DAX関数の一例。関数の種類が多く、様々なビジネス上の指標を形にできます。
レポートの配信
最後にPower BI Desktop(パソコンへのインストール版)で作ったレポートをクラウドに発行します。
1クリックでクラウドに発行できるのもPower BIの特徴の1つで、クラウドに発行することで、様々な人々が、あらゆる場所で(クラウドなのでオンライン環境なら見れる)、あらゆる媒体で(スマホやPC等)レポートを確認できます。
このスケーラビリティを活かしてこそ、Power BIレポートの効果にレバレッジをかけられます。Twitter等のSNS感覚で、シェアすることができるので、使えるレポートであれば、組織内でどんどん広まっていきます。
また、レポートを発行するだけだと、ユーザーはレポートをわざわざ見に来ないといけず、それだと一手間発生します。
そこでレポートを「メールで自動配信」する仕掛けを組んでおくことで、プッシュ型のアプローチができるわけです。
その配信メールには、レポートへのリンクが付いているので、ユーザーはそのリンクからもレポートにたどれるわけです。
以上、UiPath×VBA×Power BIで全自動のレポート配信システムを作る方法を共有させていただきました。
以上です!
コメントを残す