2023.10.23

企業であまり使われていないPower Query(パワークエリ)の威力

Power Queryを活用した基本事項点検のススメ

小西 宏明 

Summary

  • ・データ活用業務では、データ整形などのいわゆる前処理が8割程度の労力を占めると言われ、これは実務上の感覚とも符合する
  • ・データ活用の先進企業であっても、部門によっては前処理の段階で、非常に原始的かつ属人的な、手作業を含むプロセスを行っているケースが少なくない
  • ・こうしたケースでも、ExcelのPower Query(パワークエリ)を活用することで、特殊なツールの導入やプログラミングを行うことなく、即座に大幅な改善が図れる場合がある

はじめに

データ活用業務で必要となるのがデータの前処理、可視化といったプロセスである。特に前処理はデータ分析の8割程度の労力・時間を占めるとされ、またデータ分析の成否を決するものだ。実際のデータ分析ではさまざまな実務データを扱うが、往々にしてかなりの整形が必要となり、苦戦している実務者が多い。

本稿では、実務に即効性があるMicrosoftのExcelに標準具備されたPower Query[1]の威力、活用場面について解説する。なお、ここではPower Queryの具体的な利用方法は触れないため、興味がある方はMicrosoft Support等を参照いただきたい。

1.データ活用の現場で驚くほど知られていないPower Query

皆さんはExcelのPower Queryをご存じだろうか。Power QueryはExcel 2010 for Windowsから導入された標準機能である。Microsoftの公式の説明は以下となっている。

「Power Query(Excelでは Get & Transformと呼ばれます)を使用すると、外部データをインポートまたは接続し、ニーズに合わせて列の削除、データ型の変更、テーブルの結合などのデータを整形できます。次に、Excelにクエリを読み込んで、グラフとレポートを作成できます。定期的にデータを更新して最新の状態にすることができます。」[2]

これは、非常に強力な機能群である。しかしながら、筆者がさまざまな企業等のデータ活用担当者と接する経験の中で感じる普及状況としては、存在を認識しているのが2~30人に1人程度(体感的には1クラスに1人というレベル)、大いに活用しているのは100人に1人程度といったところだろう。これは、相当データ活用が進んでいる企業でもさほど変わらない印象がある、知る人ぞ知る機能である。

その認知度と反して、既に存分に活用している方からは、「Power Query無しの業務はもはや考えられない」といった声も多い。

2.データ活用の現場ではどんな場面に“陥っている”ことが多いのか?

データ活用を推進する上で、陥りがちなトラブルの具体例を4つ挙げる。簡単なことと侮ることなかれ、と強調したい。こうしたケースは現在のところ日本のあちこちの現場で(特にデータ活用の駆け出しの部門等で)目立たないが確実にデータ活用業務のパフォーマンスをむしばんでいるのだ。以下のいずれの例においても、Power Queryが有効な解決手段となる。

●データ活用の現場でよくある事例その1:先頭の0抜け
典型的なものとしては郵便番号データがある。郵便番号データを日本郵政のWebサイト[3]からダウンロードした場合、csv形式での入手となる。多くの人はダブルクリックしてExcelファイルを開いてしまうが、そうすると7桁の郵便番号の列はExcelの機能により自動的に整数として認識されるため、番号が0から始まる北海道は、先頭の0が消えてしまうのだ。

図1:先頭の0抜け表示(郵便番号の例)

出典:日本郵便「郵便番号データダウンロード」[3]のデータを基に著者作成

郵便番号の場合はあらかじめ桁数が7桁であり、かつ北海道が0から始まると分かっているから、最悪データが欠損しても比較的容易に復元可能である。しかし、これが桁数の分からない(例えばそのカラムには10桁格納できても、実際のデータが何桁なのか確定しておらずバラバラのケース)場合には、もはや誰にも復元できないことになってしまう。さまざまな企業のデータ活用に携わる中で、これに類似するケースをかなりの頻度で耳にする。体験したことのある方も決して少なくないはずだ。

Power Queryを使うことで、データを読み込み、明確に型指定をしてテーブル形式で出力することにより、この問題を解消できる。

●データ活用の現場でよくある事例その2:さまざまなデータソースからデータをかき集めるのに苦しんでいる
データ活用の現場では、クレンジング済みで、必要なデータが一元化された、整ったデータマートが完備されているケースばかりではない。あらゆる形式のデータをかき集めてくるケースも多いことだろう。そのプロセスが煩雑で、しかも一定の形にできておらず苦しんでいるケースも多いのではないだろうか。

Power Queryでは、csvやtxtばかりではなく、多くのデータベースへのアクセスも可能で、データの連携や加工を自動化できる。また、インターネット上の表形式データ(HTMLでテーブル形式のもの)にもアクセスできる。さらに、表形式のデータが組み込まれていればPDFも読み込めるなど、さまざまなデータを連携して統合する上で使い勝手が非常に良い。

図2:さまざまなデータソースへのアクセスが可能

 

図3:データの結合が視覚的に可能

出典:日本郵便「郵便番号データダウンロード」[3]のデータを基に著者作成

図4:データ結合時のクエリの依存関係を視覚的に把握可能

出典:日本郵便「郵便番号データダウンロード」[3]のデータを基に著者作成

●データ活用の現場でよくある事例その3:何でもプログラミング言語で解決しようとしてしまう
これも意外だがよくある落とし穴と言える。データ活用のA to ZをPythonなどのプログラミングを行うことで解決しようとすることだ。プログラミング能力の高い人材ばかりがいる組織であれば、さほど問題にはならないかもしれないが、多くの場合そうではない。つまり、ごく一部の限られた人間にしか何をやっているのか分からない・触れないデータ活用プロセスとなってしまう。

よって、いずれ誰も保守できなくなることも多く、人事異動等により容易に、いわゆる技術的負債が生まれてしまう。誰も分からない加工プロセスを放置する、すなわち加工プロセスのトレーサビリティ(どのような出所のデータを、どのように加工してその結果になったのかきちんと追えること)が確保できていない状態では、問題が生じた際に説明責任を果たし、改善を図ることもままならない。加工プロセスと言っても、そんなに大げさなものではない型変換などの基本的なものでも、後からどうやって加工したのか分らないと非常に難渋することになる。問題はそれだけではない。プロセスが全てソースコードとなると、敷居が高く、組織内でデータ活用の知見が広がりを見せない(すなわちデータ民主化が進まない)のだ。

Power Queryではデータの統合、クレンジング、加工プロセスが全てビジュアルに残り、個々のステップに好きな名前を付けて保存しておくこともできる。これはトレーサビリティの観点で有効で、どのように加工して最終的な結果にたどり着いたのかを後から追うことができる。その内容を人に共有する際にも、プロセスが明記されているので非常に楽である。最終的にプログラミングないしは別のツールが必要となる場合であっても、処理のイメージをPower Queryで作っておくことは、プロトタイプドリブンで要件を考える際に有効だ。

●データ活用の現場でよくある事例その4:ピボットできないデータをBIツールで可視化しようとしている
BIツールはこの10年で普及し、多くの企業に導入されている。しかし、Excelのピボットレベルで可視化ができないと分るような、素性の悪いデータをBIツールで可視化しようとしている例がよく見られる。特定の道具しか知らないと、何でもその道具で解決しようとしてしまうものだ。ハンマーしか知らないと、何でもハンマーで叩いてしまう。

高価なツールを導入する前に、あらかじめPower Queryとピボットでイメージを描いて、ピボット段階でのフィージビリティを確認しておくことが、こうした手戻りを防ぐために有効である。

3.さまざまなケースで解決に直接役立つか、補完的に役立つことの多いPower Query

ここまで見てきた4つのケースのような事態が、あなたの携わっているデータ活用で起きていないと本当に断言できるであろうか。恐ろしいのは、簡単なことであるからこそ、見過ごすと後のデータ活用プロセス全体が崩壊し多大な手戻りを生むことである。

データ活用では、上層部には想像もつかない初歩的なことが、致命的な結果となることがある。今一度、基本に立ち返り、現場のデータ/データ活用の状況を点検して、“とても基本的なこと”で思いがけずつまずいていないか点検することを推奨したい。

上記のようなケースを補完する上で、Power Queryは非常に有効に働く。それは、Power Queryによるデータ活用に次のようなメリットがあるからだ。

Power Query活用による主要なメリット

  1. 元データを破壊する恐れなく、キープしたまま処理できる。クエリの画面上でいかなる試行錯誤をしても元ファイルを破壊することがない。これは直にExcelのワークシート上で関数を使って複雑な処理をすることと比べて大きなメリットである。
  2. データ加工プロセスが残るため再現性・トレーサビリティの確保ができる。これによりデータマネジメントの実践の上でも活躍の場面が多い。
  3. データモデルによりExcelの行数制約(104万行)を回避し、ピボットして可視化できる。これにより、かなり大きなデータであっても、BIツールで本格的に可視化を行う前にフィージビリティを確認できる。

ここで挙げた機能的メリットはごくごく一部に過ぎない。それでも、ここまでを読んで、データ活用業務の中で使える場面があることに気づいた方も少なからずいるのではないだろうか。

おわりに

データ活用では、「良い仮説、良いデータ、良い処理」が重要である。今回は「処理」にフォーカスし、Power Queryによる問題解決を紹介した。本稿で述べたように、非常に基本的な事項も軽視せず、現場の課題の深い部分にもアプローチして、データ活用がスピードアップするよう取り組んでいくことが重要と考えている。

前述の通り、Power Queryは、体感的に知名度は非常に低い状態が続いているが、Excelが導入されていれば多くの企業で、追加コストなしで今すぐ活用可能となるツールである。データ活用を促進する上での潤滑油となることが期待されることから、まだ使用したことのない方は是非トライいただきたい。

  1. [1] Microsoft(2023), “Power Query とは?”, https://learn.microsoft.com/ja-jp/power-query/power-query-what-is-power-query (参照日2023年8月4日)
  2. [2] Microsoft(2023), “ExcelのPower Queryについて”, https://support.microsoft.com/ja-jp/office/excel-%E3%81%AE-power-query-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-7104fbee-9e62-4cb9-a02e-5bfb1a6c536a (参照日2023年8月4日)
  3. [3] 日本郵便株式会社(2023), “郵便番号データダウンロード”, https://www.post.japanpost.jp/zipcode/download.html(参照日2023年8月4日)

小西 宏明

デジタルトランスフォーメーション担当

シニアコンサルタント

※担当領域および役職は、公開日現在の情報です。

  • facebook
  • はてなブックマーク
QUNIE