Power Query エディターで Python を使用する
Power BI Desktop Power Query エディターでは、統計学者、データ科学者、データ分析官によって広く使用されているプログラミング言語、Python を使用できます。 Python と Power Query エディターを統合することで、Python を使用したデータ クレンジングを実行したり、データセットで高度なデータ シェイプおよびデータ分析 (失ったデータを埋める、予測、クラスター化など) を実行したりできます。 Python は高度な言語であり、Power Query エディターで使用し、ご自分のデータ モデルを用意したり、レポートを作成したりできます。
前提条件
開始する前に、Python と Pandas をインストールする必要があります。
Python のインストール - Power BI Desktop の "Power Query エディター" で Python を使用するには、ご使用のローカル コンピューターに Python をインストールする必要があります。 Python はさまざまな場所から無料でダウンロードし、インストールできます。たとえば、公式 Python ダウンロード ページや Anaconda があります。
Pandas のインストール - Power Query エディターで Python を使用するには、Pandas もインストールする必要があります。 Pandas は、Power BI と Python 環境の間でデータを移動するために使用されます。
Power Query エディターで Python を使う
Power Query エディターで Python を使う方法を示すために、ある株式市場のデータセットからの、こちらからダウンロードできる .CSV ファイルに基づいた例を取得し、説明に沿って作業してください。 この例の手順は次のようになります。
最初に、Power BI Desktop にデータを読み込みます。 この例では、EuStockMarkets_NA.csv ファイルを読み込み、Power BI Desktop の [ホーム] リボンから [データの取得]>[テキスト/CSV] を選択します。
ファイルを選択し、 [開く] を選択します。CSV が [CSV ファイル] ダイアログに表示されます。
読み込まれたデータは、Power BI Desktop の [フィールド] ペインに表示されます。
Power BI Desktop の [ホーム] タブから [データの変換] を選択し、Power Query エディターを起動します。
[変換] タブで、[Python スクリプトを実行する] を選択します。次の手順で示すように、[Python スクリプトを実行する] エディターが表示されます。 行 15 と行 20 にデータが欠けています。次の画像では確認できませんが、他にもデータが欠けている行があります。 次の手順からは、Python によってこれらの行が自動的に補完されるしくみがわかります。
この例では、次のスクリプト コードを入力します。
import pandas as pd completedData = dataset.fillna(method='backfill', inplace=False) dataset["completedValues"] = completedData["SMI missing values"]
注意
前のスクリプト コードを正しく動作させるためには、Python 環境に pandas ライブラリをインストールする必要があります。 pandas をインストールするには、Python のインストールで次のコマンドを実行します:
pip install pandas
[Python スクリプトを実行する] ダイアログに入力すると、コードは次の例のようになります。
[OK] を選択すると、Power Query エディターにデータ プライバシーに関する警告が表示されます。
Power BI サービスで Python スクリプトを正しく動作させるには、データ ソースをすべて [パブリック] に設定する必要があります。 プライバシー設定とその意味に関する詳細については、「プライバシー レベル」を参照してください。
[フィールド] ウィンドウに completedValues という新しい列が表示されます。 行 15 や行 18 行など、いくつかの行でデータ要素が不足しています。 次のセクションでは、Python でその不足を処理する方法を確認します。
わずか 3 行の Python スクリプトで、Power Query エディターにより予測モデルを使って欠測値が埋められました。
Python スクリプト データから視覚化を作成する
これで、次の画像のように、Python スクリプト コードと pandas ライブラリで不足値を補うしくみを示すビジュアルを作成できます。
その視覚化、および Power BI Desktop を使って作成したい他の任意の視覚化が完成したら、Power BI Desktop ファイルを保存できます。 Power BI Desktop ファイルは、.pbix というファイル名拡張子で保存されます。 次に、データ モデル (その一部である Python スクリプトを含む) を Power BI サービスで使用します。
注意
以上の手順を完了した .pbix ファイルをご覧になる場合は、 幸運です。 これらの例で使用されている Power BI Desktop ファイルの完成したものをここからダウンロードできます。
.pbix ファイルを Power BI サービスにアップロードしたら、サービスでのデータの更新と、サービスでの視覚化の更新を有効にするために、さらにいくつかの手順を実行する必要があります。 視覚化を更新するには、データが Python にアクセスする必要があります。 その他の手順は次のとおりです。
- データセットの定期更新を有効にする。 データセットを含むブックを Python スクリプトで定期的に更新するには、「スケジュールされた更新の構成」を参照してください。ここには、Personal Gateway に関する情報も含まれています。
- Personal Gateway をインストールする。 ファイルが配置され、Python がインストールされているコンピューターに、Personal Gateway をインストールする必要があります。 Power BI サービスはそのブックにアクセスし、更新されたすべての視覚化を再レンダリングする必要があります。 詳細については、「Power BI で個人用ゲートウェイを使用する」を参照してください。
考慮事項と制限事項
Power Query エディターで作成された Python スクリプトを含むクエリにはいくつかの制限事項があります。
Python データ ソース設定はすべて、 [パブリック] に設定する必要があり、Power Query エディターで作成されたクエリの他の手順もすべてパブリックにする必要があります。 データ ソース設定にアクセスするには、Power BI Desktop で、[ファイル] > [オプションと設定] >[データ ソース設定] の順に選択します。
[データ ソース設定] ダイアログで、データ ソースを選択し、[アクセス許可の編集] を選択し、[プライバシー レベル] が [パブリック] に設定されていることを確認します。
Python のビジュアルやデータセットの定期更新を有効にするには、スケジュール更新を有効にし、ブックが置かれ、Python をインストールしているコンピューターに Personal Gateway をインストールする必要があります。 それぞれの詳細な情報については、この記事の前のセクションにリンクがあります。
現在、入れ子になったテーブル (テーブルのテーブル) はサポートされていません。
Python とカスタム クエリを使用すると、さまざまなことを行うことができるため、ご自分のデータを調べて好みの方法で表示できるように整形してください。