如何将Excel单元格日期参数传入Power Query的Kusto数据源
在Excel Power Query中传递单元格日期参数到Kusto查询
步骤1:设置Excel单元格作为参数源
- 选两个单元格(比如A1放起始日期、B1放结束日期),设置单元格格式为日期时间类型,填入初始起止日期。
- 给单元格设置命名区域:选中A1,在Excel顶部「名称框」输入
StartDate回车确认;选中B1,输入EndDate回车。用命名区域能避免单元格位置变动导致参数失效。
步骤2:在Power Query中加载并转换参数
打开Power Query编辑器,在「高级编辑器」里添加代码,读取单元格日期并转成Kusto兼容的字符串格式:
// 读取起始日期并转换为Kusto要求的格式 StartDate = DateTime.ToText(Excel.CurrentWorkbook(){[Name="StartDate"]}[Content]{0}[Column1], "yyyy-MM-dd HH:mm:ss"), // 读取结束日期并转换为Kusto要求的格式 EndDate = DateTime.ToText(Excel.CurrentWorkbook(){[Name="EndDate"]}[Content]{0}[Column1], "yyyy-MM-dd HH:mm:ss")
步骤3:修改Kusto查询的M代码
把原有的AzureDataExplorer.Contents调用改成引用参数的版本:
Source = AzureDataExplorer.Contents( "https://test.net/", "myDB", "table#(lf)| where ChangedOn >= datetime(" & StartDate & ") and ChangedOn <= datetime(" & EndDate & ")", [] )
使用方法
修改Excel里StartDate和EndDate单元格的日期后,点击Excel「数据」选项卡的「全部刷新」,Power Query就会用新日期参数重新执行Kusto查询,返回对应时间范围的记录。
内容的提问来源于stack exchange,提问作者Aleks Kirichenko
相关产品推荐
相关产品推荐

