table()
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
La fonction table() fait référence à une table en fournissant son nom en tant qu’expression de type string
.
Syntaxe
table(
TableName [,
DataScope])
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
TableName | string |
✔️ | Nom de la table référencée. La valeur de cette expression doit être constante au point d’appel de la fonction, ce qui signifie qu’elle ne peut pas varier selon le contexte de données. |
DataScope | string |
Utilisé pour restreindre la référence de table aux données en fonction de la façon dont ces données se trouvent sous la stratégie de cache effective de la table. Si elle est utilisée, l’argument réel doit être l’une des valeurs d’étendue de données valides. |
Valeurs d’étendue de données valides
Valeur | Description |
---|---|
hotcache |
Seules les données classées comme cache à chaud sont référencées. |
all |
Toutes les données de la table seront référencées. |
default |
La valeur par défaut est all , sauf si elle a été définie hotcache par l’administrateur du cluster. |
Retours
table(T)
retourne :
- Données de la table T si une table nommée T existe.
- Données retournées par la fonction T si une table nommée T n’existe pas, mais qu’une fonction nommée T existe. La fonction T ne doit pas prendre d’arguments et retourner un résultat tabulaire.
- Une erreur sémantique est générée s’il n’existe aucune table nommée T et aucune fonction nommée T.
Exemples
Utiliser table() pour accéder à la table de la base de données active
table('StormEvents') | count
Sortie
Count |
---|
59066 |
Utiliser table() à l’intérieur des instructions let
La requête ci-dessus peut être réécrite en tant que fonction définie par la requête (let statement) qui reçoit un paramètre tableName
, qui est passé dans la fonction table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Sortie
Count |
---|
59066 |
Utiliser table() dans Functions
La même requête que ci-dessus peut être réécrite pour être utilisée dans une fonction qui reçoit un paramètre tableName
, qui est passé dans la fonction table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Remarque
Ces fonctions peuvent être utilisées uniquement localement et non dans la requête inter-cluster.
Utiliser table() avec un paramètre non constant
Un paramètre, qui n’est pas une chaîne de constante scalaire, ne peut pas être transmis en tant que paramètre à la table()
fonction.
Vous trouverez ci-dessous un exemple de solution de contournement pour ce cas.
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')
Sortie
x |
---|
2 |