Microsoft Power BI 活用レポート:Power Pivotを使ってみた② ~お手軽導入の”限界”~
- TAG : Microsoft_Power_BI活用術 | Tech & Science | クロス集計 | ビッグデータ分析
- POSTED : 2014.04.10 12:19
f t p h l
「お手軽導入」の限界を知ろう
前回は”Power Pivotがどれくらい早いか”の検証を行いました。Power BI for Office 365 + Office 365 ProPlusのお手軽導入版でも、速度的には、弊社が実施している分析業務の通常運用に「耐えうる」スピード感があるということがわかりました。(お手軽導入と本格導入についてはこちら)
今回は、その次のステップとして、「Power Pivotが機能面でどこまでのことができるのか=弊社が通常Aktblitzなどで分析している業務をPower Pivotで実施できるのか」という視点で『お手軽導入』の限界を探っていきます。
尚、Power Pivotを含む「Power BI」の大きな優位点は、Power Viewの”ビジュアライズ”やPower Mapの”地図を活用した表現”などの優れた機能をエクセル上で実現しているということなのですが、今回はそれには触れません。まずは、Power Pivot単体で、機能的にどこまで使えるのかに焦点をあてていきます。
「お手軽導入」でできること
1.100万行以上のデータを扱うことができる
言わずもがなではありますが、これまでのエクセルは100万行以下のデータしか扱えませんでした。しかも数十万行のデータを超える計算を実施すると非常に時間がかかりました。
それが100万行を超えるデータでも簡単に扱うことができます。Excel Power Pivotで扱えるデータボリュームは4GB程度とのことですので、それ以下であれば問題なく動きます。弊社の業務上、頻繁に実施する”クロス集計”はもちろん容易に実施できますし、”2次属性付け”もシンプルなもの*であれば、Power Pivot上で実施できます。データ結合もリレーションを貼ることで、簡単に実施できます。
*:「複雑なもの」については後述します
2.使い慣れた関数をそのまま使える
Power Pivot上でエクセル関数をそのまま使えます。例えば、=文字列&文字列 で2つの列の文字列を結合したり、if文を使って特定条件のレコードにフラグを付けたりすることが可能です。使い慣れたエクセルの関数と「まったく同じ」ですので、非常に便利で使いやすいのが特徴です。
「お手軽導入」でできないこと
1. 主テーブルの集計、および、絞り込んだサブテーブルを、Power Pivot上で作れない
お手軽導入では、主テーブルを集計したり、ある条件で絞り込んだサブテーブルを別テーブルとしてPower Pivot上に作る(Create Tableする)ことができません。
分析例をあげつつ、ご説明します。
- 購買明細データを集計して、ユーザー単位での購買金額を出します。
- 集計したユーザー単位の購買金額を会員データと結合します。
- そこから購買金額で条件を絞り(購買金額が○○円以上など)そのセグメントの性別、年代、居住地などの特徴を見つけます。
通常、上記のような分析をする際には、まず 1.の「トランザクションデータをユーザ単位で集計し、ユーザー別 購買金額」を算出したものを「別テーブル」として作り、2.の会員データと結合します。
しかし、Power Pivot単体では、1.の処理結果を別テーブルで作成できません。購買金額に限らず、トランザクションデータをユーザー単位で集計したものに”さまざまな2次属性データ”を付与することは、弊社の分析の「基本形」なのですが、それらの作業はPower Pivotでは実施できません。
このような作業を行うには、SQLサーバーを入れて「本格導入」する必要があります。
2. 「分析結果」は100万行が上限(ビューワーがエクセルのため)
Power Pivotで行う「データ処理」結果は、エクセルのピポットテーブルで表示されます。その結果、Power Pivotにおいては100万行の制限はないのものの、処理結果の表示は”エクセル”で行われるため「100万行以下」という制限にひっかかります。
例えば、300万人の顧客のトランザクションデータを ”3,000万件/月(平均利用回数が10回)” 処理するケースを考えてみてください。それぞれの顧客が”いくらずつ利用したか”のテーブルを表示しようとした場合、エクセルでは表示できません。(100万行を越える、300万人顧客の情報のため)
この制限のため、上記の場合の顧客の利用額を表示するには、性別・年代など何かしらの条件で、100万行を下回る数まで絞り込みをかけて表示する必要があります。
3. 絞り込みの条件が限られている
Power Pivotにおけるフィルタリングの条件は「xxと等しい」と「xxと等しくない」とその組み合わせに限られています。例えばテキストデータを格納している列に対して「部分一致」をかけての絞り込みなどはできません。
複雑な”絞り込み”を行いたい場合も、SQLサーバーを入れて「本格導入」することになります。
まとめ:ギックスでは本格導入が必要
お手軽導入のPower BIでは「100万行を超えるデータを扱える」上に、「馴染みのあるエクセル関数を使ってシンプルな2次属性を付け」たり、「クロス集計結果を表示する」ことは可能です。
その一方で、「トランザクションデータを集計して別テーブルを作り、それを顧客データに紐づける」などの少し複雑な処理は、Power BI単体では難しく、本格導入(=SQLサーバー)が必要ということになります。
お手軽版Power BIで十分処理できる性質のデータだけを分析する、というケースも往々にしてあるものと思いますが、できること、できないことの見定めが重要なのは間違いないと言えます。(弊社の場合は、”お手軽版Power BIの範疇では収まらない”ということが分かりましたので、現在、本格導入を行っています。)
今後の予定:
- 本格導入の手順をレポートします
- お手軽版に含まれる「Power View」「Power Map」等の分析結果の”ビジュアライズ機能”をレポートします
本特集の記事一覧はコチラから
f t p h l