気軽にはじめるPower BIのデータクレンジング【前編】
POWER BIのコラムを担当いただいている日本マイクロソフトの横井羽衣子さん、そしてPower BIユーザーとしてインタビューコーナーに登場いただいた酒井麗菜さんのお二人が、現在、Power BIの自主学習会をしながら、使いこなし方法を研究中とのこと。データクレンジングやPower BI活用方法などについて、お聞きしました。
レポートのソースをExcelシートからSQLに
-酒井さんは、以前インタビューにご登場いただいた際は、Microsoft Azureの公式ウェブサイトの解析のビジュアライゼーションをPower BIで行っているということでした。その後、いかがですか。
酒井:はい。その後もレポートの作成にはPower BIを使っています。いくつか進化した点として、以前はPower BI Desktopのレポートを会議室スクリーンに投影することも多かったのですが、いまでは常日頃から関係者とPower BIでデータをシェアするようになったため、ミーティングの際も事前準備などなく必要な数字がすでに全員の手元にある状態になりました。
また、もうひとつ大きいのが、提供されてくるCSVデータの処理方法ですね。
-以前は、Web解析サービスから取得する、かなり大きなCSVデータをExcel上である程度整えたあと、Power BIに読み込むという流れでしたよね。
酒井:はい。現状も、Web解析のクラウドサーバーと直接接続することはできないのですが、CSVを手作業で整える作業をなくすための工夫をしています。
横井:その際に使用したのが、前回少しだけ私のコラムで登場した Azure SQL Serverなんです。
Power BIの活用例。商品をお客様に自動レコメンドするAIロボットのデータ分析。AIの活用例として酒井さんがPower BIレポートを作成したもの。
SQL Serverを噛ませることでデータクレンジングを自動化
-では、今回、ワークフローを変えることになったきっかけを教えてください。
横井:私もPOWER BI FORUMでコラムを担当させていただいていたり、Power BIでレポートを作ることもあるのですが、いまひとつビジュアライゼーションには自信がないんです(笑)。
酒井さんのレポートがとても綺麗で見やすいので、「ねえ、レポートの作り方教えて? その代わり、酒井さんがなにか困ってることがあれば私が教えるから!」ということで勉強会を始めたんですね。
酒井:はい。週1回、お昼休みに1時間弱の時間で勉強会をしています。私はデータベースの知識がほとんどないので、Power BIには各種のデータサーバーへの接続がソースとして対応していることは知っていましたが、自分の業務に使うということは考えていませんでした。
-一度確立したワークフローというのは、忙しい日々の業務内では変えづらいものですよね。
酒井:それ以上に、横井さんに聞かれるまで自分が面倒くさい作業をしているということにさえ意識が向かなかったんですよね。
-具体的にはどんな作業をされていたんですか?
酒井:外部から持ってくる解析データは、そのまま使うと、Power BIで日付と時刻の項目が文字列として認識されてしまうため、あらかじめ手作業で修正する必要があったんです。元データをExcelで開いて、日付・時刻の列にLEFT関数を使って、文字列を指定して、形式を直し…というような作業をしていました。仕事ですから、慣れてしまうと大変だということも意識しなくなってしまうのですが、かなりのボリュームがあるデータなので、それを毎回、手作業で行うのは難儀なところはあります。
横井:Excelの場合は、データ量が大きくなるとレスポンスも重くなりますしね。そこで、せっかくの勉強会だから、これをなんとかしようよ!と提案したんです。
-データクレンジングの手作業が、毎回毎回、入っていたんですね。具体的にはどうやってワークフローの改善を進めましたか?
横井:SQL Serverと、そこにデータを移行するAzure Data Factory を使いました。
-いままでは、Power BI Desktopに直接CSVから加工したExcelシートを読み込んでいたのに、なぜ、サーバーを介することになったのですか?
横井:おっしゃるとおり。「CSV→Excelシート→Power BI Desktop」とシンプルな流れで済んでいたものを、「CSV(実際にはTSVを採用)→クラウドのファイルサーバー→Azure Data Factory→SQL Server→ Power BI Desktop」という流れになりますから、一見すると面倒になったように感じますよね。
ポイントは「自動化」です。酒井さんが手作業していたクレンジング部分を、この経路にしたことで自動処理できるようになったんです。
酒井:先ほどの日付数値の部分は、SQL Serverをデータソースとして使うことで、解消できたんです。
横井:もう少し具体的な手順は後編で紹介しますが、Power BIは、SQL Serverに接続する際はオプションでSQL文を書けるので、データ取得の形式をアレンジすることができます。そのメリットを活かして、いままで手作業で修正せざるを得なかったクレンジング部分は、SQLにお任せすることができたんです。
酒井:Excelを使っていると、どうしてもデータ量が増えた際に、Excelの動作が重くなってしまうという悩みと、ルーチンの手作業で同じことをする必要があったこと(手作業なのでミスが発生する可能性も高い)。この2つを一気に解消することができました。
-なるほど!それは素晴らしいですね。後編ではその作業のあらましについて、もう少し詳しく伺っていきたいと思います。