対象の人
PowerBIのビジュアル眺めてて「お、Py?」ってなった人
PowerBIにおいてのPythonの使いどころ
- [取得] データ取得するところ
- [編集] クエリとしてPythonを実行したいとき
- [視覚化] PowerBI既定やカスタムビジュアルで実装していないとき
PowerBIではインタラクティブな可視化を得意としていますが、予測値などは表示できません。
データをもとに機械学習して予測値を出して視覚化したいときなど場合はPythonの出番になります。
ただし処理が遅いということもありますし、インタラクティブではない点を考えると、あらかじめ予測したデータソースをもって視覚化したほうが使い勝手が良いのかもしれません。(個人的な意見です)
となると、PowerBIにおけるPythonって、現時点においての私としてはやっぱりビジュアルなのかなーと思っています。
BI標準やカスタムで実装されていないグラフで視覚化したい、、とか。
seabornとか使うとキレイに表現できたりします。
Pythonビジュアルとは
Pythonで作図したものです。
PowerBIの既定ビジュアルやカスタムビジュアルでは表現できないグラフは、Pythonビジュアルを使って表現することができます。
matplotlibやseabornなどのライブラリが代表的で、データ加工して作図なんてことも可能です。
ただし注意すべき点もあるようです。
PowerBIサービスでは「Pro」ライセンスが必要
下図は単純な棒グラフです。(左側:Pythoビジュアル、右側:積み上げ横棒グラフ)
PowerBI Desktopで作成しています。
PowerBI Desktopでは問題なく作成できて、表示もできています。
これをPowerBIサービスに発行する場合はライセンスに注意です。
Free版だと、Pythonビジュアルで作成したグラフはこのとおり。
Pythonビジュアルで作成したグラフが表示されていません。
PowerBI DesktopではOKだが、PowerBIサービスはProライセンスが必要になります($9.99/月)。
Proライセンスだと、PowerBIサービス上でも表示できます。
でも表示に時間がかかります。(単純なグラフでも)
現状、Web公開には対応していない
Pythonビジュアルは現状、Web公開もサポートしていない様子です。
でもPowerBI DesktopからのPDFエクスポートはOKです。(表示だけになりますが)
Pythonビジュアル起点での絞り込みなどはできない
PowerBIといえば、相互作用が便利で、一方のビジュアルのあるデータをクリックすると、他のビジュアルも連動してデータを絞り込み表示したりできます。
これが、Pythonビジュアル起点だと無理なようです。
ただし、他のビジュアルやスライサーなどの起点の場合は、Pythonビジュアルも絞り込みなどが行われます。
現時点では、ProライセンスがあればPowerBIサービスでは利用できるし、Web公開さえ我慢すればPythonビジュアルならではの表現で相手に伝えることができます。
個人的見解
表示速度などを踏まえた場合、なるべくPowerBI標準ビジュアルやカスタムビジュアル優先で、どうしても表現できない場合にPythonビジュアルを使用するような順位付けになりそうです。
Power BIでサポートされているPythonパッケージ
※投稿時点
パッケージ | 概要 |
---|---|
matplotlib | Pythonで静的、アニメーション、インタラクティブな視覚化を作成するための包括的なライブラリ |
numpy | Pythonを使用した配列計算の基本パッケージ |
pandas | データ分析、時系列、統計のための強力なデータ構造 |
scikit-learn | 機械学習とデータマイニング用のPythonモジュールのセット |
scipy | Python用の科学ライブラリ |
seaborn | 統計データの視覚化、見た目はキレイ |
stasmodels | Pythonの統計計算とモデル |
xgboost | XGBoost Pythonパッケージ |
参考
https://docs.microsoft.com/ja-jp/power-bi/connect-data/service-python-packages-support