#powerquery #azure-data-explorer
#powerquery #azure-data-explorer
Вопрос:
Можете ли вы помочь с передачей параметра из функции power editor в запрос power editor?
Вот часть моего запроса:
let
Source = AzureDataExplorer.Contents("mycluster", "mydatabse", "let startTime = datetime(2021-02-26 00:00:00); #(lf)let interval = timespan(24h);
Я хочу заменить 24 часа параметром редактора запросов или функцией редактора запросов. Но когда я это делаю, я получаю синтаксические ошибки, так как power editor жалуется, что timespan неправильно отформатирован. Я не знаю, что / как форматировать вставку вызова функции или параметра в приведенном выше коде.
Как бы то ни было, приведенный выше запрос является запросом Kusto (т.Е. Azure data Explorer). Я уже пробовал
промежуток времени ([myparam])
промежуток времени ([{myparam]})
промежуток времени ({myparam})
промежуток времени ([myfunction())
Ничего не работает. 🙁
Ответ №1:
Я предполагаю, что ваш параметр имеет тип Number, который представляет количество часов, которое вы хотели бы установить для переменной «интервал». Самый простой способ справиться с этим — использовать объединение строк:
Source = AzureDataExplorer.Contents("mycluster", "mydatabse", "let startTime = datetime(2021-02-26 00:00:00); #(lf)let interval = timespan(" amp; MyIntervalParameter amp; "h);")
Другой альтернативой является использование M’s Text.Format (https://docs.microsoft.com/en-us/powerquery-m/text-format ) функция:
Query = Text.Format(
"let startTime = datetime(2021-02-26 00:00:00); #(lf)let interval = timespan(#[interval]h);",
[
interval = MyIntervalParameter
]),
Source = AzureDataExplorer.Contents("mycluster", "mydatabse", Query)
Комментарии:
1. Интересный формат. Я собираюсь попробовать это сейчас. Кстати, я намеренно установил для типов значение (a) String, а затем (b) Any. Но я вижу обалденное форматирование, которое вы сделали выше. Попробую это сейчас. Огромное спасибо. Надеюсь, это сработает. Я скоро отвечу со своими выводами