table()
De functie table() verwijst naar een tabel door de naam op te geven als een expressie van het type string
.
Syntax
table(
TableName [,
DataScope] )
Meer informatie over syntaxisconventies.
Parameters
Naam | Type | Vereist | Beschrijving |
---|---|---|---|
TableName | string |
✔️ | De naam van de tabel waarnaar wordt verwezen. De waarde van deze expressie moet constant zijn op het moment van aanroepen van de functie, wat betekent dat deze niet kan variëren op basis van de gegevenscontext. |
DataScope | string |
Wordt gebruikt om de tabelreferentie te beperken tot gegevens op basis van de manier waarop deze gegevens onder het effectieve cachebeleid van de tabel vallen. Als u het argument gebruikt, moet het werkelijke argument een van de geldige gegevensbereikwaarden zijn. |
Geldige waarden voor gegevensbereik
Waarde | Beschrijving |
---|---|
hotcache |
Er wordt alleen verwezen naar gegevens die zijn gecategoriseerd als hot-cache. |
all |
Naar alle gegevens in de tabel wordt verwezen. |
default |
De standaardwaarde is all , behalve als deze is ingesteld hotcache op door de clusterbeheerder. |
Retouren
table(T)
Retourneert:
- Gegevens uit tabel T als er een tabel met de naam T bestaat.
- Gegevens die worden geretourneerd door functie T als een tabel met de naam T niet bestaat, maar een functie met de naam T wel bestaat. Functie T mag geen argumenten hebben en moet een tabellair resultaat retourneren.
- Er treedt een semantische fout op als er geen tabel met de naam T en geen functie met de naam T is.
Voorbeelden
Table() gebruiken voor toegang tot de tabel van de huidige database
table('StormEvents') | count
Uitvoer
Count |
---|
59066 |
Table() gebruiken in let-instructies
De bovenstaande query kan worden herschreven als een querygedefinieerde functie (let-instructie) die een parameter tableName
ontvangt die wordt doorgegeven aan de functie table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Uitvoer
Count |
---|
59066 |
Table() gebruiken in Functions
Dezelfde query als hierboven kan worden herschreven om te worden gebruikt in een functie die een parameter tableName
ontvangt, die wordt doorgegeven aan de functie table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Notitie
Dergelijke functies kunnen alleen lokaal worden gebruikt en niet in de clusteroverschrijdende query.
Table() gebruiken met een niet-constante parameter
Een parameter, die geen scalaire constante tekenreeks is, kan niet als parameter worden doorgegeven aan de table()
functie.
Hieronder ziet u een voorbeeld van een tijdelijke oplossing voor een dergelijk geval.
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')
Uitvoer
x |
---|
2 |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor