前面我有寫過一篇博文,Power BI Python 在Power BI Desktop中使用Python繪圖,今天我來使用Python腳本來生成Power Query的查詢數據
我們一般都使用第三方的IDE先調試好Python代碼,然后再在Power BI Desktop運行,我這里使用的是Pycharm,至於該IDE大家到網上找安裝包吧。
先看看我們的Python代碼內容:
import pandas as pd import numpy as np df = pd.DataFrame( { 'key1': list('aabba'), 'key2': ['one', 'two', 'one', 'two', 'one'], 'data1': np.random.randn(5), 'data2': np.random.randn(5) }); print(df)
注意:最后一行print(df)並非是必需的,我只是為了在Pycharm編輯環境里查看下輸出的結果而已,在貼到Power BI Desktop的時候並不需要該行。Power BI Desktop會得到Python代碼中數據類型是DataFrame的變量數據。
接下來我們看看如何將代碼貼入Power BI Desktop運行,操作可以通過2種方式,
其一:圖形界面里找“Python腳本”選項,其二:空查詢中使用Python.Execute()函數
“Python腳本”
我們首先看第一種運行方式:
1、在Power Query編輯器中依次點擊“新建源/更多…”,隨后依次選擇“其它/Python腳本”,點擊確定按鈕,然后將Python代碼貼入窗口文本框里。
![]() |
![]() |
2、 點擊確定按鈕后,會打開導航器窗口,左側會列出數據類型為DataFrame的變量,只有勾選了一項之后,右下角的確定按鈕才變得可用
Python.Execute()函數
接下來我們來看第二種方式,直接在空查詢中運行函數Python.Execute()函數
1、在Power Query管理器中依次點擊“主頁/新建源/空查詢”,公式編輯欄輸入Py,將會自動出現M函數列表智能提示(我是今天剛更新了Power BI Desktop,我之前的版本沒有M語言的智能提示功能。)
![]() |
![]() |
2、該函數,接受一個字符串參數,所以我們要用成對的雙引號,然后再貼Python代碼到里面,然后按下回車鍵,此時會出現“編輯權限”按鈕,點擊之后,彈出“腳本之行”對話框,點擊運行按鈕即可
![]() |
![]() |
多個DataFrame變量
運行Python腳本后,Power BI會提取所有數據類型為DataFrame的變量出來,我們上面只有一個變量,那么我們改下代碼來看看,
直接拷貝第一個變量,然后改下2個變量的名字
import pandas as pd import numpy as np df1 = pd.DataFrame( { 'key1': list('aabba'), 'key2': ['one', 'two', 'one', 'two', 'one'], 'data1': np.random.randn(5), 'data2': np.random.randn(5) }); df2 = pd.DataFrame( { 'key1': list('aabba'), 'key2': ['one', 'two', 'one', 'two', 'one'], 'data1': np.random.randn(5), 'data2': np.random.randn(5) });
我將之前那個使用Python.Execute()函數公式里的參數直接替換為上面代碼,然后運行之后會看到下面的結果