buildschema() (fungsi agregasi)
Membangun skema minimal yang mengakui semua nilai DynamicExpr.
Catatan
Fungsi ini digunakan bersama dengan ringkasan operator.
Sintaks
buildschema
(
DynamicExpr)
Pelajari selengkapnya tentang konvensi sintaksis.
Parameter
Nama | Jenis | Diperlukan | Deskripsi |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | Ekspresi yang digunakan untuk perhitungan agregasi. |
Mengembalikan
Menampilkan skema minimal yang menerima semua nilai DynamicExpr.
Tip
Jika input adalah string JSON, gunakan fungsi parse_json() untuk mengonversi JSON menjadi nilai dinamis . Jika tidak, kesalahan dapat terjadi.
Contoh
Contoh berikut membangun skema berdasarkan:
{"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)
Hasil
schema_value |
---|
{"x":["long","string"],"y":["double",{"w":"string"}],"z":{"indexer ":["long","string"]},"t":{"indexer ":"string"}} |
Skema yang dihasilkan memberi tahu kita bahwa:
- Objek akar adalah kontainer dengan empat properti bernama x, y, z, dan t.
- Properti yang disebut
x
berjenis panjang atau dari jenis string. - Properti yang disebut
y
ii dari jenis ganda, atau kontainer lain dengan properti yang disebutw
string jenis. - Kata
indexer
kunci menunjukkan bahwaz
dant
merupakan array. - Setiap item dalam array
z
berjenis panjang atau dari jenis string. t
adalah array string.- Setiap properti bersifat opsional secara implisit, dan larik apa pun mungkin kosong.
Model skema
Sintaks skema yang ditampilkan adalah:
Kontainer ::= '{' Named-type* '}'; Jenis-bernama: := (nama | '""indexer
') ':' Jenis; Jenis ::= Jenis primitif | Jenis union | Wadah; Union-type ::= '[' Type* ']'; Jenis primitif ::= "long" | "string" | ...;
Nilai setara dengan subset anotasi jenis TypeScript, dikodekan sebagai nilai dinamis Kusto. Dalam TypeScript, contoh skemanya adalah:
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk