分析功率查询

时间:2016-06-22 18:30:03

标签: excel-vba powerquery vba excel

我试图更好地了解如何更好地优化我的Power Query代码。有没有办法分析查询并确定他们在哪里花时间?

到目前为止,我能够想出的就是将查询分成单独的查询,然后我可以使用下面的VBA代码在Excel时间连接到表。问题是,打破查询并追踪性能问题是相当费力的。特别是因为打破它们的行为可能会改变它们的表现。

'MicroTimer from http://stackoverflow.com/a/7116928/2250183
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

1 个答案:

答案 0 :(得分:2)

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/