Partager via


table()

S’applique à : ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft 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