POWERQUERY查询上载为什么几十GB,这是社么原因,而且非常缓慢

a5438 0 信誉分
2025-11-12T05:45:31.5433333+00:00

查询上载为什么几十GB,这是社么原因,而且非常缓慢查询上载为什么几十GB,这是社么原因,而且非常缓慢

查询上载为什么几十GB,这是社么原因,而且非常缓慢用户的图像

Microsoft 365 和 Office | Excel | 家庭版 | Windows
0 个注释 无注释

2 个答案

排序依据: 非常有帮助
  1. Kai-H 17,495 信誉分 Microsoft 外部员工 审查方
    2025-11-20T08:49:57.1333333+00:00

    您好 a5438

    时隔许久,特此致函询问此事进展如何。

    您是否有机会查看我们提供的回复?

    任何更新都将不胜感激。

    此答案是否有帮助?

    0 个注释 无注释

  2. Kai-H 17,495 信誉分 Microsoft 外部员工 审查方
    2025-11-12T10:53:14.7233333+00:00

    (免责声明:本信息经自动翻译工具处理;我们力求准确,但译文可能无法完全体现原文的含义、语境或意图)

    你好,a5438

    欢迎来到微软问答论坛。

    感谢您的提问。您看到的对话框显示的是从源文件读取/传输的数据量,而非磁盘上.xlsx文件的大小。以下是详细说明及可尝试的性能优化方案:

    可能的原因

    读取整个工作簿而不是单个工作表/表格

    • 使用 数据 ▸ 获取数据 ▸ 从工作簿 时,Power Query 会先导入整个文件作为 Binary,然后展开。如果“示例文件/转换文件”步骤展开了所有工作表、命名区域和表格,就会读取全部内容(包括隐藏表),导致数据量暴增。

    错误的合并导致笛卡尔积

    • 如果 合并查询时没有正确的键,或者数据类型不匹配,会产生 交叉连接,行数成倍增加(百万 → 十亿),数据量瞬间膨胀。

    过早展开嵌套结构

    • 在过滤之前展开 表格、记录、列表 或 JSON/XML,会导致数据量和内存占用急剧增加。

    过滤和列精简过晚

    • 如果在最后才删除不需要的行和列,Power Query 仍需传输和检查所有数据,造成大量无用数据处理。

    加载到数据模型并自动检测类型

    • 加载到 数据模型(Power Pivot)时,自动检测数据类型和关系会强制全量扫描,增加传输量和处理时间。

    隐私级别和 Fast Combine 设置

    • 严格的 隐私级别会导致 Power Query在源之间缓冲数据,增加副本。如果关闭 Fast Combine,PQ 可能多次暂存数据。

    网络位置(SharePoint/OneDrive)+ 预览

    • 从 SharePoint/OneDrive读取时,每次预览和步骤验证都会通过网络获取数据,列分析和预览会重复读取大量数据。

    工作簿中包含图片或二进制内容

    • 如果工作簿嵌入了 数据透视缓存、高分辨率图片或 OLE 对象,导入时会读取这些二进制内容,即使你只需要一个工作表。

    如何检查并优化

    检查第一步

    • 在 应用的步骤中点击第一步,如果看到只有一个名为 Content 的二进制列,说明导入了整个文件。
    • 应使用 导航选择所需的工作表或表格。

    尽早精简

    • 将 保留行(过滤)和 保留/删除列步骤尽量提前。
    • 最佳顺序:导航 → 保留所需列 → 过滤行 → 类型转换。

    检查合并

    • 确认合并查询的键正确且数据类型匹配。
    • 如果合并后行数暴增,说明存在多对多或交叉连接,需要修正键或预聚合。

    关闭重型预览

    • 在 PQ 编辑器:视图 ▸ 列质量/列分布/列分析 → 关闭。
    • 文件 ▸ 选项和设置 ▸ 查询选项 ▸ 数据加载:
      • 取消勾选 允许后台下载数据预览。

    设计时限制数据

    • 添加临时步骤 Table.FirstN(Source, 10000),设计完成后删除。

    加载目标

    • 在 关闭并加载到… 中选择 仅创建连接(用于中间查询),只加载最终精简后的查询到工作表或数据模型。

    隐私和 Fast Combine

    • 在 查询选项 ▸ 隐私中设置一致的隐私级别,并开启 Fast Combine。

    列类型

    • 尽早将数值/日期列设置为正确类型,避免后期文本转换导致性能问题。

    推荐导入模式(处理大型 Excel 文件)

    • 在源工作簿中创建只包含所需列的表格(数据 ▸ 从表/范围)。
    • 在目标工作簿中使用 获取数据 ▸ 从 Excel 工作簿 → 精确导航到该表格。
    • 在 PQ 中删除其他列、过滤行、设置类型、重命名列。
    • 关闭并加载到… → 仅创建连接,最终加载精简后的查询。

    如果必须使用 SharePoint/OneDrive

    • 优先使用 从 SharePoint 文件夹/列表获取数据并精确导航到文件和表格。
    • 避免导入整个 SharePoint 文件夹,除非需要多个文件。
    • 使用 Binary ▸ 转换文件向导时,确保示例文件步骤只选择一个工作表或表格。

    希望这能帮到您。如需进一步协助,请随时联系。


    若此回答对您有帮助,请点击“接受答案”并给予好评。若对此回答有其他疑问,请点击“评论”。

    注:若需接收本讨论串的相关邮件通知,请按[我们的文档]指引启用邮件通知功能。

    此答案是否有帮助?

    0 个注释 无注释

你的答案

提问者可以将答案标记为“已接受”,审查方可以将答案标记为“已推荐”,这有助于用户了解答案是否解决了提问者的问题。