buildschema()(집계 함수)
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
DynamicExpr의 모든 값을 허용하는 최소 스키마를 빌드합니다.
참고 항목
이 함수는 summarize 연산자와 함께 사용됩니다.
구문
buildschema
(
DynamicExpr)
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
DynamicExpr | dynamic |
✔️ | 집계 계산에 사용되는 식입니다. |
반품
DynamicExpr의 모든 값을 허용하는 최소 스키마를 반환합니다.
예시
다음 예제에서는 다음을 기반으로 스키마를 빌드합니다.
{"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"}} |
결과 스키마는 다음을 알려줍니다.
- 루트 개체는 x, y, z 및 t라는 네 개의 속성이 있는 컨테이너입니다.
- 호출되는
x
속성은 long 형식이거나 문자열 형식입니다. - double 형식의 ii 또는 문자열 형식이라는 속성이 있는 다른 컨테이너라는
y
w
속성입니다. - 키워드는
indexer
배열임을z
나타내며t
배열입니다. - 배열
z
의 각 항목은 긴 형식이거나 문자열 형식입니다. t
는 문자열의 배열입니다.- 모든 속성은 암시적으로 선택 사항이며 배열은 비어 있을 수 있습니다.
스키마 모델
반환된 스키마의 구문은 다음과 같습니다.
컨테이너 ::= '{' Named-type* '}'; Named-type: := (name | '""indexer
') ':' 형식; 형식 ::= Primitive-type | Union-type | 컨테이너; Union-type ::= '[' Type* ']'; Primitive-type ::= "long" | "string" | ...;
값은 Kusto 동적 값으로 인코딩된 TypeScript 형식 주석의 하위 집합과 동일합니다. TypeScript에서 예제 스키마는 다음과 같습니다.
var someobject:
{
x?: (number | string),
y?: (number | { w?: string}),
z?: { [n:number] : (long | string)},
t?: { [n:number]: string }
}