возник вопрос: существует ли какой либо способ измерить скорость обновления запроса в power query по аналогии с RangeTimer - макросом
сейчас все эмпирически происходит то есть написал - вроде работает потом добавил строчку начало обновляться дольше - хочется какой то инструмент для наглядного сравнения скорости вычислений
поделитесь опытом кто то что знает по данной теме )))))
Фиксируете значение DateTime.LocalNow() в первом шаге запроса потом его же в последнем. Потом разность и куда-то выводим полученное значение. Единственно что это значение наверное не будет учитывать время выгрузки полученного результата в модель данных или таблицу или куда там еще.
PooHkrd написал: Фиксируете значение DateTime.LocalNow() в первом шаге запроса потом его же в последнем
Коллега, есть одна проблема. Power Query весь построен на ленивых вычислениях значений функций. То есть, это самое DateTime.LocalNow() будет вызвано только тогда, когда потребуется выполнить вывод. Фактически - время начала выполнения в результате будет равно времени завершения. Не выйдет так. А как - увы, не знаю. Только если синхронно обновлять запрос макросом можно получить разницу, тут правда, вы правы, будет включено и время вывода. Впрочем, а почему бы и нет?
Ну что ж из всего вышеизложенного делаю вывод что код:
Код
let
SomeFunction = ()=> DateTime.LocalNow(),
InvokeAfter5Secs =
Function.InvokeAfter(SomeFunction, #duration(0,0,0,5)),
Output =
Duration.ToText(InvokeAfter5Secs - DateTime.FixedLocalNow())
in
Output
это наше все для замера времени выполнения запроса. А если посмотреть на то что пишут классики
Цитата
The question here is, though, what time does DateTimeFixedLocalNow() actually return? I asked on the Power Query forum here and Ehren from the Power Query dev team revealed that it returns the system date and time at the point when the query begins.