[分享] Python in Power BI !!!

  [复制链接]
查看224158 | 回复171 | 2021-2-19 03:35:15 | 显示全部楼层 |阅读模式
PowerBI 2018年8月8日的更新已经支持Python了,和之前支持R语言一样。
今天分享一下几个方面的细节


103533wjpj6z5xe5cwp5ps.png


1.Python是目前最流行的面相对象编程语言之一,在编程语言排行榜上一直位于4-5位。由于语法相对简单,功能相对强大,易入门等原因,一直受到大家的青睐。
如果是没有接触过编程语言的朋友,可以从Python开始。

103534o22dq0h4lz4nk5ch.png

2. Python在PowerBI中主要用于四种场景。
103534smd5okhr244ru2ho.png

数据获取环节可以直接用Python从数据源获取数据,返回到PowerBI进一步处理。

103534cmwourm5o3rrruu3.png

数据清洗环节,可以将PowerBI获取的数据源,用Python来进一步处理,比如调用Python的正则函数等。

103535f4fsd5tedl1sj4q4.png

数据可视化环节,可以用Python将PowerBI中的数据进行可视化,调用Python中专业的制图库,制作自定义的可视化统计图表。

103535xd9hbbj1dduzu91m.png

此外,还可以用Python语句将PowerBI的数据进行输入输出,比如写入外部文件、数据库,进行文件拆分等操作,甚至还可以将PowerBI中的数据进行批量邮件发送等
关于具体应用,不同的库可以实现不同的用途。

103535mhtio42ioxghcjgk.png

3. Python in Power BI 的环境配置

首先在管网上下载安装Python程序

103536e0o0vxxj2v727gxc.png

其次,注意命令行模式和Python交互模式的区别,安装Python以后,pandas库和matplotlib库是必需安装的,在cmd(命令行模式)下输入pip install pandas和 pip install matplotlib进行安装。

103536vpo7j7tsdtisjkkn.png

此外,我们可以使用Python自带的IDE或者安装第三方编辑器,比如我用的是PyCharm

103536m7o80p88odujp6gk.png

如果使用第三方编辑器,应该做一些基本的配置

103536jreh9hchrm5c3n5r.png

最后,我们还要对PowerBI进行一些简单的配置,预览功能中启用Python脚本,并定义Python对应的程序路径和编辑器路径,接下来我们就可以在PowerBI中使用Python了
103537t4cxzl40ffqa9dyw.png

4. Python与PowerBI的数据传递---Dataframe

Python支持5种常用数据类型,Power BI的M语言支持多种数据类型,两种语言直接以DataFrame数据类型进行传递。由于Python本身并没有支持DataFrame,因此Python会自动调用Pandas库。
M将其 Table类型的数据传递给Python,Python会自动将Table转换为Dataframe;Python的处理结果以Dataframe形式输出,M会自动将Dataframe转换为Table格式。

103537umliqjjyqt1zy1g2.png

M语言中调用Python的主要函数是 Python.Execute,大家可以看看其基本语法
103538w0spud00ygy0s62s.png

以下数使用Python.Execute函数的应用要点:

103538domtdqegdd1smkjf.png

103538uf4enrt4n44m6uq4.png

103539uf6ivsyo5zwxiwwb.png

5. Python in Power Bi 应用实例

下面是我用Python直接抓取我在EH论坛上发过的帖子,直接提交URL和登陆后的Cookie(持久),就可以了

103539j0ogiwutbb648qql.png

获取的数据最终以Dataframe形式返回

103539phyl5rh7hyr6l151.png

接下来的案例,是在PowerQuery转换数据的过程中直接调用Python进行数据转换,传递进来的参数是PowerQuery上一步的结果(table),当然我们可以指定为传递其他任意M Table作为输入参数。

103539inmqorq8kcbtwlb9.png

此外,我们还可以直接在可视化环节,用Python中的matplotlib等库进行可视化制图。

103540a4xul3w6aj3jwvx4.png

Python和R语言在PowerBI中的应用要求是一样的,数据传递的类型都要求是DataFrame,具体的使用场景和使用要求完全相同,会R的朋友,也可以按上述思路进行操作。

以下是一些参考资源
103540mq6apvd9vsoo93vv.png

详细讲解,如有需要,可以参考以下内容
%3E_Le2YWwJSF5.rar (173 Bytes, 下载次数: 0)
回复

使用道具 举报

zhangshabaobei | 2021-2-19 03:43:15 | 显示全部楼层
好贴,顶一个!
回复

使用道具 举报

hong5499 | 2021-2-19 03:48:15 | 显示全部楼层
大神厉害呀
回复

使用道具 举报

发现者 | 2021-2-19 03:53:16 | 显示全部楼层
兴奋,虽然我还在学习PB和Python,,,
回复

使用道具 举报

ruanx | 2021-2-19 03:58:16 | 显示全部楼层
感谢分享!
回复

使用道具 举报

信息量 | 2021-2-19 04:02:16 | 显示全部楼层
天啊,膜拜
回复

使用道具 举报

诗诺 | 2021-2-19 04:09:16 | 显示全部楼层
太好了,正在学习python,两者结合功能更加强大
回复

使用道具 举报

中国玉 | 2021-2-19 04:12:17 | 显示全部楼层
好文,收藏
回复

使用道具 举报

snapshot | 2021-2-19 04:18:17 | 显示全部楼层
大神厉害呀
回复

使用道具 举报

tanwc | 2021-2-19 04:23:17 | 显示全部楼层
这个真的好强大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则