前面我有写过一篇博文,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()函数公式里的参数直接替换为上面代码,然后运行之后会看到下面的结果