跳到正文
Henry Arce 自动化 · AI · 数据

你的 Power BI 报表很慢:原因与解决方法

打开报表后图表一直在加载,或者每次筛选都要等好几秒。几乎总是下面六个原因之一。先用 Power BI Desktop 的性能分析器(“优化”功能区):它会告诉你哪个视觉对象慢、时间花在哪里。如果找不到原因,我和你一起排查。

获取报价

最常见的六个原因

每一个都附有判断线索和处理方法。性能分析器会告诉你从哪里入手。

原因 1

一个页面上的视觉对象太多

页面打开很慢;在性能分析器中,很多视觉对象的时间花在“其他”上:在等其他视觉对象完成。

  • 每个页面只保留必要的内容。
  • 把明细放到钻取页面或报表页工具提示中。
  • 逐个测试自定义视觉对象:一个做得不好的视觉对象会拖慢整个报表。

原因 2

一张显示全部数据的表

某个表或矩阵不加筛选地显示成千上万行,在性能分析器中最慢。

  • 给它加一个前 N 项筛选来限制行数,上限设得比任何人会看的都多。
  • 打开页面时预先设好合理的筛选,比如本月,而不是全部历史。

原因 3

模型加载了用不到的数据

文件很大,刷新也慢,整个报表都慢,而不是某一个视觉对象。

  • 删除没有任何报表使用的列和行;例如只加载最近几年的数据。
  • 关闭“自动日期/时间”:它会为每个日期列创建一张隐藏表。
  • 新列最好在 Power Query 中创建,而不是作为 DAX 计算列。

原因 4

DAX 度量值太重

在性能分析器中,“DAX 查询”占用了大部分时间。

  • 把度量值中计算了两次的部分存入变量(VAR),只计算一次。
  • 在 CALCULATE 中,对单列使用简单条件,而不是对整张表使用 FILTER。
  • 从性能分析器复制查询,在 DAX 查询视图中测试,直到变快为止。

原因 5

双向关系

在模型视图中,某个关系两端都有箭头。

  • 除非确有需要,保持单向:双向关系会让每次查询做更多工作。
  • 如果是为了让切片器只显示有数据的选项,改用“不为空”的度量值来筛选切片器。
  • 如果某个度量值需要双向筛选,只在该度量值中用 CROSSFILTER 开启。

原因 6

DirectQuery 或数据源慢

数据没有导入:每次筛选都要查询数据库,在性能分析器中“直接查询”占用了时间。

  • 考虑导入数据:这是 Microsoft 推荐的默认方式,直接从内存响应。
  • 如果必须用 DirectQuery,保持度量值简单(SUM、COUNT、MIN、MAX、AVERAGE),避免双向关系。
  • 让网关和数据库靠近你的 Power BI 所在区域,以减少延迟。

包含内容

诊断

用性能分析器测量报表,找出是哪个页面、哪个视觉对象、哪个度量值占用了时间。

更轻的模型

删除没人用的列、行和历史数据,以及让模型变大却没有用处的部分。

更快的 DAX

重写最慢的度量值,并核对结果与之前完全一致。

更清晰的页面

每页更少的视觉对象,明细单独放,打开更快也更易读。

前后对比

逐页提供修改前后实测的加载时间。

Power BI Desktop、Power BI 服务、性能分析器、DAX、Power Query、DirectQuery、SQL Server

合作流程

  1. 免费评估45 分钟视频通话,一起看你的数据、你的工作,以及真正占用时间的事情。
  2. 书面方案做什么、几轮修改、固定价格和交付时间,在看过数据后确定。
  3. 开发过程中随时给你看进度。开始时付 50%,交付时付 50%,均开具发票。
  4. 交付与培训系统上线运行,附带文档,并向你的团队讲解清楚。如有需要,可以继续按月维护。

为什么选择和我合作?

和找广告公司或买现成软件相比,有什么不同

  1. 你直接和动手做的人沟通评估时听你讲需求的人,就是设计、编写并交付成果的人。没有销售,也没有中间人。
  2. 我了解企业的日常运转我从 2019 年开始做数据工作,先在咨询公司,现在在制造业企业内部,用过 A3、SAP、Clavei 等 ERP。
  3. 书面固定报价开始之前你就知道要做什么、有几轮修改、花多少钱。最后不会有意外。
  4. 认真保护你的数据能只读就只读,应用部署在欧盟的服务器上,每晚备份。
  5. 不被绑定我交付时附带完整文档,而且我做的很多东西是开源的:联系我之前,你就能看到我是怎么工作的。
  6. 我会衡量你的收获我会记录这项工作现在要花多长时间、之后要花多长时间,让你知道值不值得。

相关项目

常见问题

为什么我的 Power BI 这么慢?
几乎总是以下原因之一:页面上视觉对象太多、模型数据多于需要、DAX 度量值太重、双向关系,或使用 DirectQuery 时数据源慢。性能分析器会告诉你是哪一个。
怎么知道哪个视觉对象慢?
打开性能分析器(Power BI Desktop 中的“优化”功能区,或在服务中编辑报表时的“视图”菜单),点击“开始录制”,再点击“刷新视觉对象”。你会看到每个视觉对象用了多长时间、花在哪里。
导入数据和 DirectQuery 哪个更好?
除非有特别理由,选择导入:数据从内存中查询,响应很快。使用 DirectQuery 时每个视觉对象都要查询数据库,速度取决于数据库本身。如果需要近乎实时的数据,或数据放不进模型,才适合用它。
请你提速要多少钱?
取决于原因和模型大小。告诉我哪个报表慢,开始之前我会给你一份固定报价,无需承诺。

其他服务

Power BI工厂 Power BIPower BI 无法刷新Power BI 网关错误n8n 自动化邮件订单录入 ERPERP 的 AI 助手网站和应用服务

给 Henry 留言

留言会直接发给 Henry。你的信息只用于回复你。