首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态查询ADX表名

动态查询ADX表名
EN

Stack Overflow用户
提问于 2019-10-08 21:19:28
回答 1查看 588关注 0票数 0

我需要能够动态地查询Azure数据资源管理器( ADX )表,也就是说,使用也存储在ADX中的特定于应用程序的元数据。

如果这是可能的话,它的方法似乎是通过表()函数。换句话说,我觉得我应该能够简单地写:

代码语言:javascript
复制
let table_name = <non-trivial ADX query that returns the name of a table as a string>;
table(table_name) | limit 10

但是这个查询失败了,因为我试图将一个变量传递给table()函数和“非标量常量字符串的参数不能作为参数传递给table()函数”。提供的解决方案并没有真正的帮助,因为所有可能的表名都不是提前知道的。

是否有任何方法在ADX (即没有来自客户端的多个查询)内完成这一切,或者我是否需要返回到绘图板?

EN

回答 1

Stack Overflow用户

发布于 2019-10-09 01:01:13

如果您知道所需的输出模式,您可以使用union实现这一点(请注意,在本例中,结果模式将是所有表的联合,您需要显式地投影您感兴趣的列)

代码语言:javascript
复制
let TableA = view() { print col1 = "hello world"};
let TableB = view() { print col1 = "goodbye universe" };
let LabelTable = datatable(table_name:string, label:string, updated:datetime)
[ 
    "TableA", "MyLabel", datetime(2019-10-08),
    "TableB", "MyLabel", datetime(2019-10-02) 
];
let GetLabeledTable = (l:string)
{
    toscalar(
        LabelTable
        | where label == l
        | order by updated desc
        | limit 1
    )
};
let table_name = GetLabeledTable('MyLabel');
union withsource = T *
| where T == table_name
| project col1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58294223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档