Power BI | 为啥你的 Power BI 刷新巨慢?
数据源慢服务器性能不够为什么你的报表刷新巨慢可能是你没搞懂查询折叠✦ 本期核心问题不是数据源慢是你把1200万行全拉到本地算。01、刷新6分钟谁都不承认小李负责的销售日报每天早上8:30自动刷新。三个月前只要40秒。现在6分12秒。他找IT。IT看了下服务器「SQL Server资源使用率不到15%不是我们这边的问题。」他找DBA。DBA跑了一下SQL Profiler截图发过来「你的Power BI在跑一条 SELECT * FROM SalesOrder扫了全表1200万行。数据库不慢是你每次刷新都在把整张表搬进Power BI。」小李打开Power Query编辑器点开「销售订单」查询数了一下22个应用步骤。筛选、去重、分组、合并、加自定义列、改数据类型……每一步他都觉得「必须做」。问题就出在这里。不是数据库慢是数据根本没在数据库里算。02、Power Query的每一步不是你想的那样Power Query连接SQL Server这类数据源时有一个机制叫查询折叠。简单说你把M语言写的转换步骤——筛选行、选择列、分组聚合、排序——Power Query把它翻译成一条SQL语句直接发给数据库执行。数据库算完只把结果返回给你。折叠时1200万行筛选到30万行 → 数据库干传30万行过来。 ✅但如果折叠断了呢Power Query会把1200万行全拉进本地内存然后用自己的引擎一条条筛。1200万行全部走网卡、进内存、被Mashup引擎处理。这就是阿豪的6分钟从哪来的。不是数据库慢是数据根本没在数据库里算。03、一个步骤就能毁掉整条链查询折叠的规则很残酷一旦某一步不可折叠它后面的所有步骤——哪怕本身可以折叠——也都废了。整条链从那个断点开始全部在本地执行。小李打开查询折叠指示器Power Query编辑器 → 视图 → 勾选「查询折叠指示器」看到踩坑提示 断点在第4步他加了一个自定义列 Month Date.Month([OrderDate])。这个M函数没有SQL等价物折叠断了。从这一步开始后面所有的筛选、分组、去重——全是PowerBI在本地吭哧吭哧算。SQL Server收到的实际查询是什么DBA截到的就是那条SELECT*FROM[SalesOrder]WHERE[OrderDate]2026-01-01前3步折叠成了WHERE条件。第4步一断第5步的 金额 1000 根本没进SQL——它是Power BI把全部数据拉到本地之后才筛的。04、三步修好重排、替代、推到源小李做了三件事STEP 01重排步骤——把能折叠的操作移到断点前面他原本的步骤顺序导航 → 删列 → 筛选日期 → 添加自定义列 → 筛选金额 → 分组调整后导航 → 删列 → 筛选日期 → 筛选金额 → 分组 → 添加自定义列金额筛选和分组现在排在自定义列前面。SQL Server收到的查询变成了SELECT[OrderDate],[Amount],[ProductID],[Region]FROM[SalesOrder]WHERE[OrderDate]2026-01-01AND[Amount]1000GROUPBY[OrderDate],[ProductID],[Region]结果数据库先筛再分组返回的结果集只有2万行。自定义列在2万行上做毫秒级。STEP 02替换M函数——用可折叠的写法替代不可折叠的他原来写 Date.Month([OrderDate]) 是为了在报表里按月筛选。这个需求完全可以在数据源端解决-- 在SQL Server建一个视图把月份作为独立列CREATEVIEWvw_SalesOrderASSELECT*,MONTH(OrderDate)ASOrderMonthFROMSalesOrderPower Query直接连视图OrderMonth 是一个普通整数列折叠不受影响。STEP 03推到源——把复杂逻辑交给数据库小李还有一个步骤是 Table.AddColumn 用了一串嵌套if做客户分级。这玩意在Power Query里不可折叠但用SQL的 CASE WHEN 写完全没问题。他在视图里加了这个字段Power Query只负责拉现成数据。修完后他重新看折叠指示器全绿。第二天早上8:30刷新用了51秒。05、一个你可能每天都在犯的错小李的问题不是技术不行是他把Power Query当成ETL工具在用。Power Query的定位是数据接入层——把数据从源系统接进来、做必要的列筛选和简单转换。不是让你在1200万行上做字符串拼接、日期运算、嵌套条件判断。一个简单的判断标准步骤超过15步 3个以上自定义列 折叠大概率已断。把复杂计算推回数据源。SQL视图、存储过程、甚至直接在数据库里加计算列——任何你能在数据源端完成的事情都比在Power Query里做强一百倍。06、查一下你自己的模型现在就打开你的Power BI Desktop做三件事**1、 启用折叠指示器。**文件 → 选项和设置 → 选项 → Power Query编辑器 → 勾选「查询折叠指示器」。然后打开Power Query看每个查询最后一步的图标颜色。**2、 找到第一个红色步骤。**它就是你的断点。看它是什么操作——自定义列日期函数文本处理把能折叠的步骤移到它前面。**3、 右键最后一步看「查看原生查询」是灰色还是可用。**灰色 整条链都没折叠。可用 至少最后一步之前都在折叠。点开看看SQL长什么样——如果是一个简单的 SELECT * 没带WHERE说明你的筛选根本没进数据库。07、记住一句话查询折叠不是优化技巧是Power Query连接关系型数据库的基本工作方式。折叠断了就等于你主动选择了「把所有数据拉到本地再算」。这句话值6分钟——报表的6分钟。

相关新闻

从注射到口服:Lipfendra如何重塑高胆固醇血症长期管理的日常场景【海得康】

从注射到口服:Lipfendra如何重塑高胆固醇血症长期管理的日常场景【海得康】

高LDL-C是动脉粥样硬化性心血管疾病的核心可控危险因素,而ASCVD至今仍是全球排名第一的死亡原因,全球范围内有超过数亿患者需要长期接受强化降脂治疗。过去数十年间,临床降脂治疗始终存在难以破解的“疗效与便捷性矛盾”:他汀类药…

2026/10/17 7:37:35 阅读更多 →
WAIC2026 洞察:具身智能驶入量产时代,望获 OS 筑牢国产实体 AI 底层根基

WAIC2026 洞察:具身智能驶入量产时代,望获 OS 筑牢国产实体 AI 底层根基

为期数日的 2026 世界人工智能大会(WAIC)圆满落幕,作为全球人工智能产业风向标,本届大会清晰勾勒出行业迭代新方向。过往数年,人形机器人、服务机器人参展,大多以舞蹈互动、特技翻转、趣味展演吸引观众目光…

2026/10/16 20:27:24 阅读更多 →
Spring 源码系列(8): 依赖注入(DI)在源码里如何发生

Spring 源码系列(8): 依赖注入(DI)在源码里如何发生

引子 你只写了 Autowired private UserService userService;,对象就自动出现了。这背后 Spring 到底做了什么? 本篇回答三件事:① DI 发生在哪一步;② Autowired 和 Resource 的区别在源码层如何体现;③ 字段 / 构造器…

2026/10/17 7:41:15 阅读更多 →

最新新闻

微波通信入门:频段认知、链路预算与工程实践

微波通信入门:频段认知、链路预算与工程实践

通信观系列写到第三十五篇,今天聊的是微波通信。这个名词做通信相关工作的人都不陌生,但真要回答"微波到底是哪一段频率""为什么传输链路要留几十dB余量""现场装锅的时候哪些坑躲不开",很多刚入门的同学还是会…

2026/10/17 15:19:54 阅读更多 →
AI基础数学PDF:从张量到梯度下降的自学路线图

AI基础数学PDF:从张量到梯度下降的自学路线图

简介:《人工智能的基础数学》是一份系统梳理人工智能数学基础的电子书PDF,面向数据、商业和工程领域读者,尤其适合已有一定编程或数据分析经验、但数学底子薄弱,希望看懂各类算法原理、摆脱只会调用现成模型的从业者与学习者。资源…

2026/10/17 15:19:54 阅读更多 →
Unity体绘制初探:Ray Marching与体数据渲染实战

Unity体绘制初探:Ray Marching与体数据渲染实战

1. 为什么体绘制不是“把模型画得更厚一点”——从一个被反复误解的开场说起很多人第一次在Unity里听说“体绘制”(Volume Rendering),下意识反应是:“哦,就是给模型加个体积感?用个厚涂Shader或者SSS模拟一…

2026/10/17 15:19:54 阅读更多 →
深入解析MMDetection训练入口train.py:从启动到收敛的完整流程

深入解析MMDetection训练入口train.py:从启动到收敛的完整流程

1. 从一次训练中断说起:为什么值得花时间读train.py很多人用 MMDetection 跑通第一个 demo 之后,就再也没打开过tools/train.py。配置文件改一改,命令行敲一下python tools/train.py configs/xxx.py,看到日志开始刷 iteration 就觉…

2026/10/17 15:19:54 阅读更多 →
Unity射击小游戏压缩包:零基础跑通与修改指南

Unity射击小游戏压缩包:零基础跑通与修改指南

简介:这是一份基于Unity3D制作的初级射击游戏完整项目,面向刚接触Unity引擎或希望了解小型游戏开发流程的读者。压缩包共含28个文件,包括可直接运行的exe客户端、dll运行库、config配置文件、assets资源文件与场景数据等,整体体积…

2026/10/17 15:19:54 阅读更多 →
强化学习数学原理全解析:从贝尔曼方程到Actor-Critic知识地图

强化学习数学原理全解析:从贝尔曼方程到Actor-Critic知识地图

简介:《强化学习的数学原理》是西湖大学赵世钰教授撰写的英文专著,面向具备一定数学基础、希望从零系统理解强化学习本质的读者。全书以数学推导为主线,结合大量例子循序渐进地展开,涵盖基础概念、状态值与贝尔曼方程、最优状态值…

2026/10/17 15:18:53 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →