首页 > 解决方案 > 带有 Kusto 查询语言的 Power Query 编辑器

问题描述

可以将参数从电源编辑器功能传递到电源编辑器查询吗?

这是我的查询的一部分:

let
    Source = AzureDataExplorer.Contents("mycluster", "mydatabse", "let startTime = datetime(2021-02-26 00:00:00); #(lf)let interval = timespan(24h);

我想用查询编辑器参数或查询编辑器功能替换 24h。但是当我这样做时,我会收到语法错误,因为电源编辑器抱怨时间跨度的格式不正确。我不知道在上面的代码中什么/如何格式化函数调用或参数的插入。

值得一提的是,上面的查询是 Kusto(即 azure 数据浏览器)查询。我努力了

时间跨度([myparam])
时间跨度([{myparam]})
时间跨度({myparam})
时间跨度([myfunction() )

没有任何效果。:(

标签: powerqueryazure-data-explorer

解决方案


我假设您的参数是 Number 类型,它表示您要为“interval”变量设置的小时数。最容易处理的是使用字符串连接:

Source = AzureDataExplorer.Contents("mycluster", "mydatabse", "let startTime = datetime(2021-02-26 00:00:00); #(lf)let interval = timespan(" & MyIntervalParameter & "h);")

另一种选择是使用 M 的 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)

推荐阅读