table()
La función table() hace referencia a una tabla proporcionando su nombre como una expresión de tipo string
.
Syntax
table(
TableName [,
DataScope] )
Más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
TableName | string |
✔️ | Nombre de la tabla a la que se hace referencia. El valor de esta expresión debe ser constante en el punto de llamada a la función, lo que significa que no puede variar según el contexto de datos. |
Datascope | string |
Se usa para restringir la referencia de tabla a los datos según cómo estos datos se encuentran en la directiva de caché efectiva de la tabla. Si se usa, el argumento real debe ser uno de los valores de ámbito de datos válidos. |
Valores de ámbito de datos válidos
Valor | Descripción |
---|---|
hotcache |
Solo se hará referencia a los datos clasificados como caché activa. |
all |
Se hará referencia a todos los datos de la tabla. |
default |
El valor predeterminado es all , excepto si el administrador del clúster lo ha establecido hotcache en . |
Devoluciones
table(T)
devuelve lo siguiente:
- Datos de la tabla T si existe una tabla denominada T .
- Los datos devueltos por la función T si una tabla denominada T no existe, pero existe una función denominada T . La función T no debe tomar ningún argumento y debe devolver un resultado tabular.
- Se produce un error semántico si no hay ninguna tabla denominada T y ninguna función denominada T.
Ejemplos
Uso de table() para acceder a la tabla de la base de datos actual
table('StormEvents') | count
Salida
Count |
---|
59066 |
Uso de table() dentro de instrucciones let
La consulta anterior se puede reescribir como una función definida por consulta (instrucción let) que recibe un parámetro tableName
, que se pasa a la función table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Salida
Count |
---|
59066 |
Uso de table() dentro de Functions
La misma consulta que la anterior se puede reescribir para usarse en una función que recibe un parámetro tableName
, que se pasa a la función table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Nota
Estas funciones solo se pueden usar localmente y no en la consulta entre clústeres.
Uso de table() con parámetro no constante
Un parámetro, que no es una cadena de constante escalar, no se puede pasar como parámetro a la table()
función.
A continuación, se proporciona un ejemplo de solución alternativa para este 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')
Salida
x |
---|
2 |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de