table()
Funkce table() odkazuje na tabulku zadáním jejího názvu jako výrazu typu string
.
Syntax
table(
TableName [,
DataScope] )
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Typ | Vyžadováno | Popis |
---|---|---|---|
TableName | string |
✔️ | Název odkazované tabulky. Hodnota tohoto výrazu musí být v okamžiku volání funkce konstantní, což znamená, že se nemůže měnit podle kontextu dat. |
DataScope | string |
Slouží k omezení odkazu na tabulku na data podle toho, jak tato data spadají do efektivních zásad mezipaměti tabulky. Pokud se použije, musí být skutečným argumentem jedna z hodnot platného oboru dat. |
Platné hodnoty oboru dat
Hodnota | Popis |
---|---|
hotcache |
Budou se odkazovat pouze na data, která jsou kategorizována jako horká mezipaměť. |
all |
Budou odkazována na všechna data v tabulce. |
default |
Výchozí hodnota je all , s výjimkou případů, kdy ji na hotcache hodnotu nastavil správce clusteru. |
Návraty
table(T)
Vrátí:
- Data z tabulky T , pokud existuje tabulka s názvem T .
- Data vrácená funkcí T , pokud tabulka s názvem T neexistuje, ale existuje funkce s názvem T . Funkce T nesmí přijímat žádné argumenty a musí vracet tabulkový výsledek.
- Pokud neexistuje žádná tabulka s názvem T a žádná funkce s názvem T, vyvolá se sémantická chyba.
Příklady
Použití tabulky table() pro přístup k tabulce aktuální databáze
table('StormEvents') | count
Výstup
Počet |
---|
59066 |
Použití table() uvnitř příkazů let
Výše uvedený dotaz lze přepsat jako funkci definovanou dotazem (příkaz let), která obdrží parametr tableName
, který se předává do funkce table().
let foo = (tableName:string)
{
table(tableName) | count
};
foo('StormEvents')
Výstup
Počet |
---|
59066 |
Použití tabulky () ve Functions
Stejný dotaz jako výše lze přepsat tak, aby se použil ve funkci, která obdrží parametr tableName
, který se předá do funkce table().
.create function foo(tableName:string)
{
table(tableName) | count
};
Poznámka
Tyto funkce se dají použít jenom místně, a ne v dotazu mezi clustery.
Použití table() s non-konstantním parametrem
Parametr, který není skalárním konstantním řetězcem, nelze funkci předat jako parametr table()
.
Níže uvádíme příklad alternativního řešení pro takový případ.
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')
Výstup
x |
---|
2 |
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro