table()

A table() függvény úgy hivatkozik egy táblára, hogy a nevét adja meg típuskifejezésként string.

Syntax

table(TableName [,DataScope] )

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
TableName string ✔️ A hivatkozott tábla neve. A kifejezés értékének állandónak kell lennie a függvény hívási pontján, ami azt jelenti, hogy az adatkörnyezet szerint nem változhat.
DataScope string A táblaadatokra való hivatkozás korlátozására szolgál annak megfelelően, hogy ezek az adatok hogyan tartoznak a tábla hatályos gyorsítótárszabályzatába. Ha használja, a tényleges argumentumnak az Érvényes adathatókör-értékek egyikének kell lennie.

Érvényes adattartomány-értékek

Érték Leírás
hotcache Csak a gyorsgyorsítótárként kategorizált adatokra hivatkozunk.
all A rendszer a táblában szereplő összes adatra hivatkozik.
default Az alapértelmezett érték a all, kivéve, hotcache ha a fürt rendszergazdája beállította.

Válaszok

table(T) Visszatér:

  • A T táblából származó adatok, ha létezik egy T nevű tábla.
  • A T függvény által visszaadott adatok, ha egy T nevű tábla nem létezik, de létezik egy T nevű függvény. A T függvénynek nem szabad argumentumokat megadnia, és táblázatos eredményt kell visszaadnia.
  • Szemantikai hiba keletkezik, ha nincs T nevű tábla, és nincs T nevű függvény.

Példák

A table() használata az aktuális adatbázis táblájának eléréséhez

table('StormEvents') | count

Kimenet

Darabszám
59066

A table() használata a let utasításban

A fenti lekérdezés egy lekérdezés által definiált függvényként (let utasításként) írható át, amely egy paramétert tableName kap – amelyet a rendszer átad a table() függvénynek.

let foo = (tableName:string)
{
    table(tableName) | count
};
foo('StormEvents')

Kimenet

Darabszám
59066

Table() használata a Functionsben

Ugyanazt a lekérdezést lehet újraírni, amelyet egy olyan függvényben lehet használni, amely egy paramétert tableName kap – amelyet a rendszer átad a table() függvénynek.

.create function foo(tableName:string)
{
    table(tableName) | count
};

Megjegyzés

Az ilyen függvények csak helyileg használhatók, fürtök közötti lekérdezésben nem.

Tábla() használata nem állandó paraméterrel

A paraméter, amely nem skaláris állandó sztring, nem adható át paraméterként a table() függvénynek.

Az alábbiakban egy példát mutatunk be az ilyen eset áthidaló megoldására.

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')

Kimenet

x
2