Excel Power Query(又名获取和转换)更新后慢 10 倍

标签 excel ssas dax powerquery

一段时间以来,我一直在使用 Excel 数据获取和转换(即 Power Query)来使用 SSAS 向导从我们的数据仓库 Excel BI 服务器中查询数据。

在 2018 年 8 月 1 日左右,一些提取超过 500,000 条记录(最多 3 或 400 万行)的此类查询开始无法完成。

在构建了一个最小测试查询 (QueryTest) 之后,在“失败模式”下大约一个小时内几乎没有返回 45 万条记录,我们有一个主要假设:Office/Excel 版本更新似乎是原因。

如果我们使用早期版本的 MS Office 365(例如 circa v 1705 build 8201.2200 click to run),那么 QueryTest 在大约 6 分钟内返回所有 450k 记录。如果我们使用最新的 Excel 更新版本(v 1803 build 9126.2295),测试运行有时不会在一个小时内超时之前完成,或者花费的时间远远超过 1/2 小时。 (参见标称 6 分钟运行表。)

在快速、早期版本的 Excel 中,Excel 功能区的“数据”选项卡为“显示查询”和“显示连接”提供单独的菜单项,并且每个命令都会打开不同的面板。

在“损坏”的更高版本中,“显示查询和连接”只有一项,并且打开的面板包含一个查询和连接选项卡。

我已经进行了很多很多测试。无论哪台笔记本电脑运行查询,无论使用哪个用户帐户,无论笔记本电脑是直接连接到公司 LAN/WAN 还是通过 VPN,并且通常无论地理位置如何,都会出现相同的结果。在某些地方,QueryTest 的表现不那么糟糕,大概是因为更好的网络性能或延迟。

我们还在不存在问题的 Citrix 上使用 Excel,但似乎我们的 Citrix 版本的 Excel 是具有拆分查询和连接菜单的“旧”版本之一。

我们已经在删除 TrendMicro(我们的防病毒程序)的情况下进行了测试,相对性能差异没有任何变化。

我的猜测是,安全和/或访问协议(protocol)已经以某种方式发生了变化,导致从服务器返回的结果处理或打包速度变慢,但这甚至不是科学的 WAG。

那么,有没有人知道更新中可能发生了什么可能导致这种情况,更重要的是,如何配置服务器和/客户端查询以恢复速度?

试验结果:

Test Name       Records Seconds Records/Sec Complete
Old version 1    454,781    140  3,248.44   yes
Old version 2    454,781    137  3,319.57   yes
Old version 3    454,781    141  3,225.40   yes
New version 1    101,284    360  281.34     No
New version 2    94,836     360  263.43     No
New version 3    107,236    360  297.88     No

最佳答案

这可能有点晚,但可以帮助其他人。如果在使用 Power Query 时下载速度突然变慢,我会使用新的 Power Query 连接创建一个新选项卡(使用与旧选项卡相同的查询...只是在新选项卡上),它的运行速度似乎非常快。

关于Excel Power Query(又名获取和转换)更新后慢 10 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53303013/

相关文章:

powerbi - Power Query 添加与新列具有相同值的每个单元格

jdbc - 使用 JDBC 通过 XMLA 连接

powerbi - DAX 在计算语句中使用切片器选择

excel - 类未注册 VBA excel

excel - 在vba中声明和使用范围

sql-server - 安装SSAS时,应该安装与所安装的SQL Server版本相对应的版本,还是使用最新版本的SSAS?

ssas - MDX currentMember 让我出错

excel - 与 DAX 的左外连接总和

python - 包含要使用 python 保存在 Excel 中的值列表的变量

excel - VBA - 乘列