【PowerBI】Pythonビジュアルについて
こんにちはMJです。
今回はPowerBI DesktopでPythonを利用してビジュアルを作る方法についてご紹介します。
前提条件
Pythonビジュアルを使うためには3つの準備が必要です。
1.ローカル環境でPythonインストール
公式サイトからPythonインストールファイルをダウンロードします。
ダウンロードしたインストールファイルを起動し、下にある「Add python.exe to PATH」にチェックを入れた後、
「Install Now」を選択でPythonをインストールします。
私はこの前Pythonをインストールしたので、現在3.11バージョンを使っています。
2.Power BI DesktopでPythonスクリプトを使えるように設定
Power BI DesktopオプションのPythonスクリプトでPythonがインストールされたディレクトリを選択します。
Pythonをインストールする時、インストールパスを変えなかったら、
基本「 C:\Users\ユーザー名\AppData\Local\Programs\Python\Python(バージョン) 」フォルダにインストールされます。
3.PandasおよびMatplotlibライブラリインストール
表形式のデータを扱うpandasと、データを視覚化するmatplotlibライブラリをインストールします。
pip install pandas matplotlib
インストールが終わったら、ライブラリのバージョンを確認しながらエラーがないのか確認します。
私の場合Pandasのバージョンは2.2.3でMatplotlibのバージョンは3.9.3でした。
Pythonビジュアルを作成
Power BI Desktopを開いてPythonビジュアルを作ってみます。
Power BI Desktopの右側にある視覚化パンネルからPYと書いてあるPythonビジュアルをクリックします。
次のように「値」エリアにフィールドをドラッグして、スクリプトの作成するようにという表示が出ます。
ダミーデータを入れ、ビジュアルにカテゴリ別売上を確認するために「category, sales」フィールドを追加しました。
そうすると、値に入れたフィールドがDataframe形としてdataset名前の変数に自動で生成されます。
次のようにコードを入力し、カテゴリ別売上縦棒グラフを出力します。
import matplotlib.pyplot as plt
plt.rcParams['font.family']="MS Gothic"
plt.title('カテゴリ別売上')
plt.bar(dataset['category'],dataset['sales'])
plt.xlabel('カテゴリ')
plt.ylabel('売上')
plt.show()
スクリプトエディターで入力し、スクリプトエディターの一番右にある「スクリプトの実行」ボタンを押して実行すると、
次のように棒グラフが作られることが確認できました。
また、スライサーと連動してデータのフィルタリングもできました。
注意点
注意点としては、値領域に入れたフィールドだけをPythonスクリプトエディターで使えることと、
もし、値領域にフィールド名を変えても、元のテーブルのフィールド名を読み込むため、次のように[category]を[カテゴリ]に変えても、変えたフィールド名をPythonスクリプトでは使えませんでした。
また、基本的提供されているビジュアルで選択した項目に対しての相互作用は適用されましたが、
Pythonビジュアルからの相互作用は機能しませんでした。
ビジュアルのサイズを調節した後、もう一度スクリプトを実行しないと、グラフのサイズが自動的に調節されないので、
必ずビジュアルサイズを調節した後はスクリプトを実行しなければなりません。
Tip
外部IDEでスクリプトを編集
左から2番目のボタンをクリックすると、Visual Studio Codeなどインストールした外部IDEを接続してコードを編集することができます。
デバッグと出力ログを確認しながら、より便利な環境でグラフを作成できます。
Power BI サービスに共有
Power BI ProまたはPremiumライセンスがあれば、PythonビジュアルをPower BIサービスにアップロードし、確認することができます。
Power BI Desktopのようにスライサーを利用したフィルター動作も適用することができました。
まとめ
今回はPythonビジュアルの作り方についてご紹介しました。
皆さんもPythonビジュアルを利用して、提供されてないビジュアルを作ってみてください。