前文讲过Power BI回写数据库的多种方式的操作:
【重磅来袭】在PowerBI中使用Python(4)——PQ数据导出&写回SQL
PowerBI数据回写SQLServer(1)没有中间商赚差价
PowerBI数据回写SQLServer(2)——存储过程一步到位
不过呢,这些都是在powerquery中实现的,这对于很多不太熟悉M的同学来说,是一项巨大的挑战。
而且,在一个Power BI报告中,一般情况下我们都是通过写度量值的方式进行数据分析与展示,那么有没有办法将度量值的结果也写直接回数据库呢?
答案是肯定的。
我们在【强强联合】在PowerBI中使用Python——数据可视化一节中说过,创建一个Python可视化对象时,Power BI会自动将所要分析的字段生成一个DataFrame格式的dataset数据,传递给Python进行处理。
而要将DataFrame进行输出,这个想必大家都比较清楚吧。
我们先来测试一个简单的,将数据导出为excel文件。这时你可能会说,视觉对象可以直接原生导出数据文件啊,干嘛要用Python这个第三方呢。
嘿嘿。毕竟原配再有气质,中国最大的电商平台天猫淘宝蒋总裁不还是被爆出招惹了“第三方”的张网红。
再说了,张网红都把怀孕初期口服的叶酸摆到台面上了,这说明“第三方”能实现的功能多呀。
毕竟人家还说了:
当然,还有露骨的逼宫:
嘿嘿。说实话,这篇文章我是边写边笑出声,正愁没有什么新闻来切题呢。
扯远了,还是话说回来,我们是先通过导出excel来说明数据回写可以走Python这个“第三方“,这就为后续的其他操作创造了可能。
首先我们将要分析的字段拖入可视化中:
点击Python脚本可视化对象,DataFrame格式数据就准备好了:
粘贴脚本只有一句:
dataset.to_excel(r"D:\powerbi练习\powerbi内置调查问卷\问卷答案.xlsx",index=False)
结果就是导出了excel文件,打开这个文件:
发现里面躺着一行数据,因为我切片器只选择了一行数据。
既然我们看到能用Python输出为excel文件,那么学过之前几篇文章的同学,输出到SQL也不是难事吧。
# 在此处粘贴或键入脚本代码:
import pymysql
import pandas as pd
db = pymysql.connect("localhost","root","xxxxx","test1" )
cursor = db.cursor()
query = 'insert into `powerbi内置调查问卷`(`问题1:你从哪里看到【学谦数据运营】的这篇文章`,`问题2:你是否喜欢【学谦数据运营】公众号/专栏发布的内容`,`问题3:你希望【学谦数据运营】后续多发表哪些方面的内容`,`USERNAME`,`时间`)values(%s,%s,%s,%s,%s)'
q1=dataset.iat[0,0]
q2=dataset.iat[0,1]
q3=dataset.iat[0,2]
username=dataset.iat[0,3]
time0=dataset.iat[0,4]
values = (q1,q2,q3,username,time0)
cursor.execute(query, values)
cursor.close()
db.commit()
db.close()
这样再导入数据库中的数据,点击提交后一刷新就会有最新的数据了。
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!