azure-data-explorer - Kusto 查询动态排序顺序
问题描述
我最近开始使用 Azure 数据资源管理器 ( Kusto )。
我要求以动态方式对 Kusto 表进行排序。
// 变量声明
let SortColumn ="run_date";
let OrderBy="desc";
// 实际代码
tblOle 测量 | 取 10 |distinct column1,column2,column3,run_date |order by SortColumn OrderBy
在这里,我的代码在 Sortcolumn 之前工作正常,但是当我尝试在 [SortColumn] 之后添加 [OrderBy] 时,kusto 给了我错误。
我的要求是从变量 [OrderBy] 传递 Asc/desc 值。
请在此处提供对我有帮助的解决方法和解决方案。
解决方案
排序列和顺序不能是表达式,它必须是文字(“asc”或“desc”)。如果要将排序列和排序顺序作为变量传递,请创建一个联合,而不是在变量过滤器产生所需结果的地方。这是一个例子:
let OrderBy = "desc";
let sortColumn = "run_date";
let Query = tblOleMeasurments | take 10 |distinct column1,column2,column3,run_date;
union
(Query | where OrderBy == "desc" and sortColumn == "run_date" | order by run_date desc),
(Query | where OrderBy == "asc" and sortColumn == "run_date" | order by run_date asc)
联合分支的数量将是候选排序列数乘以 2(两个排序顺序选项)的乘积。
推荐阅读
- vb.net - 使用 VB.NET 获取 sessionID 终端服务器(使用 .NET 框架)
- asp.net-core-3.1 - 功能管理 - 两个应用程序之间的内部缓存
- excel - 使用具有相同数据的多个选项卡的 VBA 或数据透视表创建表(不能 PowerPivot)
- javascript - 如何为属于夏令时的未来日期更正时区偏移
- draw - libreoffice Basic:绘图和表格形状:如何格式化单元格?
- javascript - 将 websocket ref 传递给子组件
- c++ - Google Kickstart 2020 Round A 2020 错误答案
- ios - UIvew 在不同位置使用相同的代码
- flutter - 访问 Cloud Firestore 会引发 NoSuchMethodError
- excel - VBA - 使用范围函数从一个工作表复制并粘贴到另一个工作表