我试图更好地了解如何更好地优化我的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
答案 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/