table()
A função table() faz referência a uma tabela fornecendo seu nome como uma expressão do tipo string
.
Syntax
table(
TableName [,
DataScope] )
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
TableName | string |
✔️ | O nome da tabela que está sendo referenciada. O valor dessa expressão deve ser constante no ponto de chamada para a função, o que significa que ela não pode variar de acordo com o contexto de dados. |
Datascope | string |
Usado para restringir a referência de tabela aos dados de acordo com a forma como esses dados se enquadram na política de cache efetiva da tabela. Se usado, o argumento real deve ser um dos valores de escopo de dados válidos. |
Valores de escopo de dados válidos
Valor | Descrição |
---|---|
hotcache |
Somente os dados categorizados como cache quente serão referenciados. |
all |
Todos os dados na tabela serão referenciados. |
default |
O padrão é all , exceto se ele tiver sido definido hotcache como pelo administrador do cluster. |
Retornos
O table(T)
retorna:
- Dados da tabela T se houver uma tabela chamada T .
- Dados retornados pela função T se uma tabela chamada T não existir, mas existir uma função chamada T . A função T não deve usar argumentos e deve retornar um resultado tabular.
- Um erro semântico será gerado se não houver nenhuma tabela chamada T e nenhuma função chamada T.
Exemplos
Usar table() para acessar a tabela do banco de dados atual
table('StormEvents') | count
Saída
Contagem |
---|
59066 |
Usar table() dentro de instruções let
A consulta acima pode ser reescrita como uma função definida por consulta (instrução let) que recebe um parâmetro tableName
, que é passado para a função table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Saída
Contagem |
---|
59066 |
Usar table() dentro do Functions
A mesma consulta acima pode ser reescrita para ser usada em uma função que recebe um parâmetro tableName
, que é passado para a função table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Observação
Essas funções podem ser usadas apenas localmente e não na consulta entre clusters.
Usar table() com parâmetro não constante
Um parâmetro, que não é uma cadeia de caracteres de constante escalar, não pode ser passado como um parâmetro para a table()
função.
Abaixo, dado um exemplo de solução alternativa para esse caso.
let T1 = print x=1;
let T2 = print x=2;
let _choose = (_selector:string)
{
union
(T1 | where _selector == 'T1'),
(T2 | where _selector == 'T2')
};
_choose('T2')
Saída
x |
---|
2 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de