テクテク日記

テクテク=テクノロジー&一歩ずつ(テクテク)

MicrosoftのPowerファミリー

MicrosoftのテクノロジーやサービスにはPower○と付く言葉がたくさんあり、主なものは以下の通りです。

  1. Power Query
  2. Power Pivot
  3. Power View
  4. Power Map
  5. Power Platform
    Power BI
    Power Apps
    Power Automate(旧Microsoft Flow)
    Power Virtual Agents

    Power Pages
    ※追記: 2022年6月のMicrosoft Build 2022より、PowerファミリーPower Pagesが追加されました。

まずは5について簡単に説明します。Power PlatformはMicrosoftが2018年に提唱したデータ収集から解析・予測までローコーディング(最低限のコーディング)で実現するプラットフォームになります。

このプラットフォームを実現するには5つのサービス(もしくはツール)を利用することになりますが、ETL*1・可視化・分析・共有・レポーティング等の作業を行うPower BI、ビジネスアプリケーションをローコーディングで開発するためのソフトウェア・サービスであるPower Apps、ビジネスアプリケーションとクラウドサービス全体において、ワークフローの自動化を実現するソフトウェア・サービスであるPower Automate、そしてHP等で見かけるチャットBotを作成できるPower Virtual Agentsがこれに当たります。そして、ついに2022年6月より、PowerファミリーにPower Pagesが追加され、Power Apps Portalの革新によりローコードウェブページ制作サービスが登場しました。

Power Platformのうち、本ブログが対象とするのはPower BIに関する重要なスキルであるPower QueryとDAX / Data Modelになりますので、Power AppsとPower Automateについては殆ど触れることはありません(今のところ)。とはいえ、Power Platformが業務プロセスにおけるデータのサイロ化(分断化)をなくすために必要な機能であることを考えると、これらについても必要とあれば解説していきたいと思います。

順番が逆になりましたが、1~4について細かく解説していきます。実は1~4はExcel 2013以降から使用できる機能であり、Excel 2016(現在のOffice 365 Excelの基となったバージョン)からPower Queryの機能がExcel(Power PivotはProfessional版)に標準搭載され、より完成度が高まっていきました。

一方、MicrosoftエンタープライズBI*2の世界でトップに君臨し続けていたものの、時代の流れで現在の主流となっているセルフサービスBI*3の世界で他社BIベンダー*4よりも出遅れていました。

そこで、現在のビジネス環境やニーズに合わせるため、より開発速度が速く、自由度の高いスタンドアローンのBIツールであるPower BI Desktop(以下「Power BI」)を2015年7月24日に発表*5しました。Power BIに含まれる機能はExcel 2013から存在していた機能(1~4)であり、下記はこれを簡潔にまとめた概要図となります。

f:id:marshal115:20200502183524p:plain

上記1~4ですが、Excelは2013以降はこれらを含むModern Excelへ生まれ変わっています。なぜModern(モダン)という表現を付けているかと言いますと、Excel 2013までは『Excelによる少量データの分析』と『BIシステムを活用した大量データの分析』という二極化が進んでいましたが、Excel 2013になってからExcelでも大量データの分析が可能になったことが大きな要因です。

従来は関数、グラフ、VBA等の機能が限界であったExcelに、1~4までの機能が備わり、BIツールとしてのExcelが生まれたというわけです。現在でもExcelは単なる表計算ソフトやチャート作成ツールとしての認識が強いかもしれませんが、何でも出来てしまうというこのExcelが実はBIツールの仲間入りを果たしたことを知っている人は非常に少ないと思います。

ところで、上図で3) Power Viewと4) Power Mapがグレイアウトとなり、ほぼ注目されずとなっていますが、背景には機能の使い勝手や無料プラグインであるMicrosoft Silverlight*6のインストール等が原因となります。機能面で言えば、Power View(インターラクティヴなグラフを作成可能な機能)はSilverlightを使っているせいか、立ち上げに多くの時間を要したり、Excelのバージョンによって使えなかったりと使い勝手があまり宜しくない、という印象でした。一方のPower Mapはそもそも使っている人が殆どいないというのが実情で、マップのビジュアルも人を惹きつけるのに弱いものでした。

そのためか、この2つの機能はPower Pivotと同じくCOMアドイン*7 として組み込まれ、普通のExcelユーザーはその存在にさえ気づかないことが殆どです。このことから、MicrosoftExcelにおけるこの2つの機能の開発に対して非常に消極的(もはや停止しているとも)であり、むしろユーザーをPower BIへ移行させることに注力していると言われています。Power BIは使い勝手、ツール自体のパフォーマンス(動作速度)、ビジュアル(チャート等)、テクノロジー(Power Queryと、DAX / Data Model)の全てにおいてExcelを凌駕しており、BIレポートを作るならばExcelではなく、Power BIがベストな選択であると言えます。

ただし、Power BIとは違い、Excelセル文化・Pivotテーブル文化のため、細かい数字を調整しながら進めていくのであればPower BIよりも自由度が高く、一概にPower BIオンリーということにはなりません。

最後に、上述した1~4について簡単に解説をしていきます。

1) Power Query

こちらは記事「Power Queryについて」をご参照。

2) Power Pivot

Power PivotはExcelにおいてDAX / Data Modelを駆使して、データ分析を行うための機能となります。DAX / Data Modelについては下記「DAX / Data Modelについて」をご参照。

Power Pivotの詳細については別途記事にしますが、Excel 2010からアドイン機能として使用でき、Excel 2013から本格導入されました。データをメモリに格納し、Excelの100万行という制限をなくし、高速でデータ分析ができるよう、Microsoftが開発したBIテクノロジーとなります。

Power PivotはPower BIよりも先に登場しており、現在最新のExcel for Office 365にも標準搭載されており、DAX / Data Modelの基礎知識があればExcelスプレッドシートにPivotテーブルを出力して、データ分析を行うことができます。ただし、良く勘違いされがちなのが、Power PivotはPivotテーブルである、ということですが、Power PivotはPivotテーブルのことではなく、セルフサービスBIを可能にするテクノロジーであることです。別名Excel Data Modelとも言われますが、基本的なテクノロジーはPower BIで使われるものと同じです。

その中でExcelの存在は前述の通り、BIツールとして機能するわけですが、

Excelはこれらのテクノロジーを使用するためのクライアント

と覚えておけば大丈夫です。

Excelにおけるデータモデル(データビュー、モデルビュー)f:id:marshal115:20200502174735p:plain

ExcelにおけるDAXの記述f:id:marshal115:20200502175038p:plain

3) Power View

Power ViewはCOMアドインを使用可能にする必要があり、その設定は非常に面倒です。なお、この記事ではPower Viewを一応紹介していますが、実際にこの機能を使うことはまずありませんので、参考程度までに留めておくことをお勧めします。

  1. Excelを立ち上げ、Alt + TOというショートカットでExcelのオプションを起動
  2. 「リボンのユーザー設定」>「開発」f:id:marshal115:20200502211856p:plain
  3. 「データ」>「データ分析アドインを有効にする・・」

    f:id:marshal115:20200502212205p:plain

  4. 下図のように、PowerViewを追加する

    f:id:marshal115:20200502212736p:plain

    f:id:marshal115:20200502213021p:plain

  5.  下記の通り、Power Viewが追加されていることを確認

    f:id:marshal115:20200502213240p:plain

  6. これでようやくPower Viewが使えるかと思いきや、Power Viewのボタンをクリックすると・・・以下のようなメッセージが出現します

    f:id:marshal115:20200502213639p:plain
    この時点で、もはやこの機能を使う気が殆ど消え失せてしまうわけですが、原因究明のため、Microsoftの関連サイトを辿っていくと・・

  7. レジストリをいじらないとPower VIewを使うことができないと・・f:id:marshal115:20200502214213p:plain
    Silverlightに深刻なセキュリティ上の欠陥があることが原因であると言われていますが、レジストリをいじらないとPower VIewを使うことができないというのです。Microsoftは本気でこの機能をユーザーに使ってほしくないという意思表示のようなものが感じて取れます。

  8. Power Viewレポートf:id:marshal115:20200502220021p:plain全ての設定を終え、Excelにデータセットも取り込んだ後、Power Viewでダッシュボードを作ると上図のようになります。Power BIと非常に似たビジュアルですが、使い勝手はPower BIの足元にも及ばないので、Power Viewは基本的に使わない機能として覚えておいてください。

4) Power Map

同じく、Power Mapで年間売上高を店舗別に表示させた画像が以下のビジュアルになります。Power MapはPower Viewよりも良心的で、上記Silverlightのようにレジストリをいじる必要はなく、データセットさえしっかりしていればビジュアライズすることができます。

f:id:marshal115:20200502223602p:plain

データ品質やこわだり次第でこちらは良いビジュアルが出来上がる可能性もあるが、Excelでは処理速度が遅いことやPower BIではサードパーティーのマップビジュアルを使うことができると考えると、Excelでマップを作るメリットはあまり見当たりません。

ちなみに、私はMicrosoftが提供するマップビジュアルは他のBIベンダー(例:Tableau)が提供するものよりも見ずらいと感じており、Microsoftがマップに対して力を入れていないのか、サードパーティーにその役割を任せている可能性が高いと、勝手に想像しています。

まとめ

  • データプラットフォーマーであるMicrosoftはPower Platformというデータ関連のサービスを提供
  • Power PlatformはPower BI、Power Apps、Power Automate、Power Virtual Agents に分けられ、Power BIはデータが絡む最後の部分(データの可視化・分析等)を可能にする
  • ExcelにおけるPowerファミリーはPower Query、Power Pivot、Power View、Power Mapの4つがあり、Power QueryとPower Pivotは実務向きで利用頻度は高い。一方、Power ViewとPower MapはPower BIが登場したことにより殆ど使用されない
  • Power Viewは複数の理由で使用非推奨であり、可視化が中心の業務であればPower BIを使うことを推奨

Microsoftが提供するBIテクノロジーは日々進化しており、ExcelでBIを使う場合にはPower QueryとDAX / Data Modelが中心となります。一方で、Power BIは処理能力や表現力も全てExcelを上回っており、MicrosoftはこのBIツールにオールインしています。ケースバイケースになりますが、クロス集計が中心、Pivotテーブルを多用する場合はExcel Power Pivot、インターラクティヴなダッシュボードやクラウドによる共有がニーズの場合にはPower BIという選択になろうかと思います。

*1:Extract, Transform, Loadの略。データを抽出・加工し、データモデルに落とし込む作業

*2:IT部門が主導していたBIソリューションで、Microsoftが今でも覇者となっている分野

*3:ビジネスユーザーがIT部門の力を借りることなく、自分たちでデータを抽出・変換し、データ分析を実現すること

*4:TableauやQlikといったBIツール・サービスを専門的に扱う企業

*5:https://en.wikipedia.org/wiki/Power_BI

*6:Webブラウザー上でHD(高精細度)映像やアニメーションを閲覧できるようになる、Microsoftが開発した無料のプラグイン

*7:COM (Component Object Model)で、C#VB.NETで作ったアドイン