在 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 - 若要使用 Python 搭配 Power Query 編輯器,您也需要安裝 pandas。 Pandas 可用來在 Power BI 與 Python 環境之間移動資料。
使用 Python 搭配 Power Query 編輯器
為了示範如何在 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 指令碼] 對話方塊時,程式碼看起來會像下列範例:
選取 [確定] 之後,Power Query 編輯器會顯示有關資料隱私權的警告。
為使 Python 指令碼在 Power BI 服務中正常運作,所有資料來源都必須設為「公用」。 如需隱私權設定及其含意的詳細資訊,請參閱隱私權等級。
請注意 [欄位] 窗格中稱為 completedValues 的新資料行。 請注意,這裡有多個遺失的資料項目,像是第 15 和 18 列。 請參閱下一節,查看 Python 如何處理該狀況。
在 Python 指令碼只有三行的情況下,Power Query 編輯器會透過預測模型填入遺失的值。
從 Python 指令碼資料建立視覺效果
現在我們可以建立視覺效果,以了解 Python 指令碼如何使用 pandas 程式庫補足遺失的值,如下圖所示:
一旦該視覺效果完成,以及您可能想要使用 Power BI Desktop 建立的任何其他視覺效果,您就可以儲存 Power BI Desktop 檔案。 Power BI Desktop 檔案會以 .pbix 副檔名儲存。 然後在 Power BI 服務中使用資料模型,包括屬於其一部分的 Python 指令碼。
注意
想查看完成這些步驟後的完成後 .pbix 檔案嗎? 您很幸運。 您可以在這裡下載這些範例中使用的完成後 Power BI Desktop 檔案。
將 .pbix 檔案上傳至 Power BI 服務之後,還需要執行幾個步驟,才能讓資料在服務中重新整理,以及讓視覺效果在服務中更新。 資料需要 Python 的存取權,才能更新視覺效果。 其他步驟是下列步驟:
- 針對資料集啟用排程的重新整理。 若要為所含資料集使用 Python 指令碼的活頁簿啟用排程重新整理,請參閱設定排程重新整理,其中也包括個人閘道的相關資訊。
- 安裝個人閘道。 您需要在檔案所在的電腦以及安裝 Python 的所在位置安裝個人閘道。 Power BI 服務必須存取該活頁簿,並重新轉譯任何更新後的視覺效果。 如需詳細資訊,您可以查看安裝和設定個人閘道。
考量與限制
於 Power Query 編輯器中建立並含有 Python 指令碼的查詢有幾項限制:
所有 Python 資料來源設定都必須設為「公用」,於 Power Query 編輯器中建立的查詢中其他所有步驟也都必須為公用。 若要進行資料來源設定,請在 Power BI Desktop 中,選取 [檔案] > [選項和設定] > [資料來源設定]。
從 [資料來源設定] 對話方塊,選取資料來源,然後選取 [編輯權限...],並確保 [隱私權等級] 已設為 [公開]。
若要啟用 Python 視覺效果或資料集的排程重新整理,您必須啟用 [排程重新整理],並在裝載活頁簿與 Python 安裝的電腦上安裝個人閘道。 如需這兩者的詳細資訊,請參閱本文前一節,其中提供了深入了解各項的連結。
目前不支援巢狀資料表 (包含多個資料表的資料表)。
Python 和自訂查詢有各種用途,您可以用想要的呈現方式探索資料並使其成形。