Power BI利用Python和Sql Server制作实时看板
创始人
2025-06-01 12:23:55
0

通常我们在制作Power BI报表时使用的都是导入模式,导入确实相比DirectQuery模式性能和限制会更少些,但是某些场景下我们对数据刷新的上频率要求较高,比如即将到来的618大促,销售看板肯定不能再按天更新了,最好是做到秒级更新,当然微软也有相应的解决方案,使用流式数据,但这对于企业级项目来说成本又要提升一些了。

我们还可以使用DirectQuery来实现相对实时数据刷新,在桌面端查看效果时可实现秒级更新,发布到服务端后最小每15分钟刷新,具体可参见官方文档

Power BI 中的 DirectQuery - Power BI | Microsoft Learn[1]

接下来就来今天的小例子,我们使用windows的内存和硬盘使用情况来构建数据集,会使用到sql server和python

在sql server中创建如下表

CREATE TABLE [dbo].[Performance] ([Time] datetime  NULL,[cpu_usage] numeric(5,2)  NULL,[memory_usage] numeric(5,2)  NULL,[cpu_interrupts] numeric(18)  NULL,[cpu_calls] numeric(18)  NULL,[memory_used] numeric(18)  NULL,[memory_free] numeric(18)  NULL,[bytes_sent] numeric(18)  NULL,[bytes_received] numeric(18)  NULL,[disk_usage] numeric(18)  NULL
)

接下来打开编辑器,编写python代码,我这里使用的是Azure Data Studio,感兴趣的可以了解 你的下一个Jupyter可以是Azure Data Studio

import psutil
import time
import pyodbc
con = pyodbc.connect('Driver={SQL Server};'
'Server=.;'
'Database=test2;'
'Trusted_Connection=yes;'
)
cursor = con.cursor()
while 1==1:cpu_usage = psutil.cpu_percent()memory_usage = psutil.virtual_memory()[2]cpu_interrupts = psutil.cpu_stats()[1]cpu_calls = psutil.cpu_stats()[3]memory_used = psutil.virtual_memory()[3]memory_free = psutil.virtual_memory()[4]bytes_sent = psutil.net_io_counters()[0]bytes_received = psutil.net_io_counters()[1]dis_usage = psutil.disk_usage('/')[3]cursor.execute('insert into dbo.performance values(GETDATE(),'+ str(cpu_usage) + ','+ str(memory_usage) + ','+ str(cpu_interrupts) + ','+ str(cpu_calls) + ','+ str(memory_used) + ','+ str(memory_free) + ','+ str(bytes_sent) + ','+ str(bytes_received) + ','+ str(dis_usage) + ')')con.commit()print(memory_usage)time.sleep(1)

最后,使用Power BI,DirectQuery模式下连接数据源,简单制作以下看板,最终效果如下

 

参考来源

Power BI: Displaying Live System Performance using Power BI, SQL and Python - YouTube[2]

引用链接

[1] Power BI 中的 DirectQuery - Power BI | Microsoft Learn: https://learn.microsoft.com/zh-cn/power-bi/connect-data/desktop-directquery-about
[2] Power BI: Displaying Live System Performance using Power BI, SQL and Python - YouTube: https://www.youtube.com/watch?v=9VtkwH6iLL0&ab_channel=ViSIT

相关内容

热门资讯

国内刷屏!日本化工巨头集体围观... 【DT新材料】获悉,近日, 东粤化学20 万吨/年混合废塑料资源化综合利用示范性项目试生产成功,受到...
华夏红利量化选股股票A:202... AI基金华夏红利量化选股股票A(021570)披露2025年二季报,第二季度基金利润42.66万元,...
西力科技:7月18日融资买入7... 证券之星消息,7月18日,西力科技(688616)融资买入787.74万元,融资偿还548.63万元...
多家银行细化提振消费“路线图”... 本报记者 杨洁 今年以来,一系列扩内需、促消费政策密集出台,市场活力不断激发。《证券日报》记者了解到...
基建概念股早盘走高,基建相关E... 基建概念股早盘走高,中国电建涨停,中国能建涨超9%,中国交建涨超5%。 受重仓股上涨影响,基建相关E...
明星基金经理二季度调仓曝光,多... 2025年二季报逐步披露,多位明星基金经理最新调仓情况浮出水面。 今年以来,创新药板块表现持续亮眼,...
原创 二... “卖房比卖白菜还难”,以前这听着就是个搞笑段子,现在却成了活生生的现实!你瞧瞧,电梯里、楼道间,还有...
兆威机电赴港IPO,近两年半员... 瑞财经 严明会 近日,据港交所,深圳市兆威机电股份有限公司(以下简称“兆威机电”)向港交所提交上市申...
越卖越贵,中产都开始“抢冰块”... 作者:陈澄 编辑:安迪 在经历过雪糕刺客、防晒衣刺客后,许多人发现,今年夏季的新刺客,似乎轮到了冰块...
晨丰科技:向全资子公司北网智算... 晨丰科技晚间公告,公司拟以自有资金9,000万元向全资子公司北网智算进行增资,增资后北网智算的注册资...
科创债发行规模超7600亿元,... 今年央行、中国证监会联合发布关于支持发行科创债有关事宜的公告,旨在通过创新金融工具进一步疏通科技企业...
泰福泵业关联并购:“牛散”家族... 2025年7月9日,主营水泵制造的泰福泵业(300992.SZ)宣布收购浙江南洋华诚科技股份有限公司...
A股特别提示(7-21):英伟... 来源:国金证券第5小时 新股:悍高集团 001221.SZ 1、国资央企援藏再升级。在国资央企助力西...
摩根基金管理(中国)胡迪旗下摩... 证券之星消息,7月21日摩根基金管理(中国)旗下胡迪 何智豪管理的摩根标普港股通低波红利交易型开放式...
争议升级!特朗普起诉《华尔街日... 【环球时报驻美国特约记者 戴润芝 环球时报特约记者 于文】美国总统特朗普18日起诉《华尔街日报》,索...
宋清辉:经常喜欢抛头露面的表演... 宗庆后事件以及其他案例的启示在于,在信息爆炸的时代,任何刻意塑造的“完美人设”都如同沙堡,经不起时间...
贴心服务赢得客户赞誉 本报晋城讯 近年来,阳城农商银行始终坚守金融为民初心,以“我为群众办实事”为行动指南,持续推进金融服...
正裕工业:拟定增募资不超4.5... 正裕工业晚间公告称,公司拟定增募资不超过4.5亿元,扣除发行费用后的净额用于正裕智造园(二期)项目及...
《2024年全国海水利用报告》... 中国日报7月19日电(记者 赵磊)记者从自然资源部获悉,近日,该部海洋战略规划与经济司发布《2024...