table()
Aplica-se a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
A função table() faz referência a uma tabela fornecendo seu nome como uma expressão do tipo string
.
Sintaxe
table(
Nome da tabela [,
DataScope])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | 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. |
Escopo de dados | string |
Usado para restringir a referência da 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 da tabela serão referenciados. |
default |
O padrão é all , exceto se tiver sido definido pelo hotcache administrador do cluster. |
Devoluções
table(T)
retorna:
- Dados da tabela T se existir uma tabela chamada T .
- Dados retornados pela função T se uma tabela chamada T não existir, mas uma função chamada T existir. A função T não deve receber 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
Use table() para acessar a tabela do banco de dados atual
table('StormEvents') | count
Saída
Count |
---|
59066 |
Use 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
Count |
---|
59066 |
Use table() dentro de funções
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.
Use 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, 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 |