剖析 Power Query
Profiling Power Query
我想更好地了解如何更好地优化我的 Power Query 代码。有没有办法分析查询并确定他们将时间花在哪里?
到目前为止,我所能想到的就是将查询分解为单独的查询,然后我可以使用下面的 VBA 代码在 Excel 时间内连接到表。问题是,分解查询并追踪性能问题非常费力。特别是因为分解它们的行为可能会改变它们的表现。
'MicroTimer from
Public Function TestQuery(connectionName As String) As Double
Dim startTime As Double
Dim connection As OLEDBConnection
Set connection = ThisWorkbook.Connections(connectionName).OLEDBConnection
connection.BackgroundQuery = False
startTime = MicroTimer()
connection.Refresh
TestQuery = MicroTimer() - startTime
connection.BackgroundQuery = True
End Function
Power Query 有一个跟踪选项,可以将详细信息写入跟踪文件。导航到选项/诊断以将其打开。
一些人在博客中介绍了使用 Power Query(还有什么?)来解释和分析这些文件:
http://excelando.co.il/en/analyzing-power-query-performance-source-large-files/
https://blog.crossjoin.co.uk/2014/12/11/reading-the-power-query-trace-filewith-power-query/
我想更好地了解如何更好地优化我的 Power Query 代码。有没有办法分析查询并确定他们将时间花在哪里?
到目前为止,我所能想到的就是将查询分解为单独的查询,然后我可以使用下面的 VBA 代码在 Excel 时间内连接到表。问题是,分解查询并追踪性能问题非常费力。特别是因为分解它们的行为可能会改变它们的表现。
'MicroTimer from
Public Function TestQuery(connectionName As String) As Double
Dim startTime As Double
Dim connection As OLEDBConnection
Set connection = ThisWorkbook.Connections(connectionName).OLEDBConnection
connection.BackgroundQuery = False
startTime = MicroTimer()
connection.Refresh
TestQuery = MicroTimer() - startTime
connection.BackgroundQuery = True
End Function
Power Query 有一个跟踪选项,可以将详细信息写入跟踪文件。导航到选项/诊断以将其打开。
一些人在博客中介绍了使用 Power Query(还有什么?)来解释和分析这些文件:
http://excelando.co.il/en/analyzing-power-query-performance-source-large-files/
https://blog.crossjoin.co.uk/2014/12/11/reading-the-power-query-trace-filewith-power-query/