buildschema() (集計関数)
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
DynamicExpr のすべての値を許可する最小スキーマをビルドします。
Note
この関数は、summarize 演算子と組み合わせて使用します。
構文
buildschema
(
DynamicExpr)
構文規則について詳しく知る。
パラメーター
件名 | タイプ | Required | 説明 |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | 集計計算に使用する式。 |
返品
DynamicExpr のすべての値を許可する最小スキーマを返します。
ヒント
入力が JSON 文字列の場合は、 parse_json() 関数を使用して JSON を dynamic 値に変換します。 そうでない場合、エラーが発生する可能性があります。
例
次の例では、次に基づいてスキーマを構築します。
{"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)
結果
schema_value |
---|
{"x":["long","string"],"y":[double",{"w":"string"}],"z":{"indexer ":["long","string"]},"t":{"indexer ":"string"}} |
結果のスキーマは、次のことを示します。
- ルート オブジェクトは、4 つのプロパティ (x、y、z、t) を含むコンテナーです。
x
と呼ばれるプロパティは、long 型または string 型です。- double 型の
y
ii というプロパティ、または string 型のw
と呼ばれるプロパティを持つ別のコンテナー。 indexer
キーワードは、z
とt
が配列であることを示します。- 配列
z
の各項目は、 long 型または string 型です。 t
は文字列の配列です。- すべてのプロパティは暗黙的に省略可能で、配列は空である可能性があります。
スキーマ モデル
返されるスキーマの構文は次のとおりです。
コンテナー ::= '{' Named-type* '}';Named-type: := (name |'"indexer
"') ':' 型;型 ::= Primitive-type |Union-type |コンテナ;Union-type ::= '[' Type* ']';プリミティブ型 ::= "long" |"string" |...;
値は、Kusto 動的値としてエンコードされた TypeScript 型注釈のサブセットと同等です。 TypeScript では、スキーマの例は次のようになります。
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}