buildschema() (funkcja agregacji)
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Tworzy minimalny schemat, który przyznaje wszystkie wartości elementu DynamicExpr.
Uwaga
Ta funkcja jest używana w połączeniu z operatorem podsumowania.
Składnia
buildschema
(
DynamicExpr)
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | Wyrażenie używane do obliczania agregacji. |
Zwraca
Zwraca minimalny schemat, który przyznaje wszystkie wartości elementu DynamicExpr.
Napiwek
Jeśli dane wejściowe są ciągiem JSON, użyj funkcji parse_json(), aby przekonwertować kod JSON na wartość dynamiczną. W przeciwnym razie może wystąpić błąd.
Przykład
Poniższy przykład tworzy schemat na podstawie:
{"x":1, "y":3.5}
{"x":"somevalue", "z":[1, 2, 3]}
{"y":{"w":"zzz"}, "t":["aa", "bb"], "z":["foo"]}
datatable(value: dynamic) [
dynamic({"x":1, "y":3.5}),
dynamic({"x":"somevalue", "z":[1, 2, 3]}),
dynamic({"y":{"w":"zzz"}, "t":["aa", "bb"], "z":["foo"]})
]
| summarize buildschema(value)
Wyniki
schema_value |
---|
{"x":["long","string"],"y":["double",{"w":"string"}],"z":{""{""[indexer "long","string"]},"t":"{indexer ":"string"}} |
Wynikowy schemat informuje nas, że:
- Obiekt główny jest kontenerem o czterech właściwościach o nazwach x, y, z i t.
- Wywoływana
x
właściwość jest typu long lub typu ciąg. - Właściwość o nazwie
y
ii typu double lub inny kontener z właściwością o nazwiew
ciąg typu. - Słowo
indexer
kluczowe wskazuje, żez
it
są tablicami. - Każdy element w tablicy
z
ma typ długi lub ciąg typu. t
jest tablicą ciągów.- Każda właściwość jest niejawnie opcjonalna, a każda tablica może być pusta.
Model schematu
Składnia zwracanego schematu to:
Kontener ::= '{' Nazwany typ* '}'; Nazwany typ: := (nazwa | '"indexer
"') ':' Type; Typ ::= Typ pierwotny | Typ unii | Kontener; Typ unii ::= '[' Type* ']'; Typ pierwotny ::= "long" | "string" | ...;
Wartości są równoważne podzestawowi adnotacji typu TypeScript zakodowanym jako wartość dynamiczna Kusto. W języku TypeScript przykładowy schemat będzie:
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}