다음을 통해 공유


make_bag_if()(집계 함수)

조건자가 로 dynamic 평가되는 레코드에 expr 값의 JSON 속성 모음(사전)을 만듭니다true.

Null 값은 무시되며 계산에 영향을 주지 않습니다.

참고

이 함수는 summarize 연산자와 함께 사용됩니다.

Syntax

make_bag_if(Expr,조건자 [,maxSize])

구문 규칙에 대해 자세히 알아보세요.

매개 변수

이름 형식 필수 Description
expr dynamic ✔️ 집계 계산에 사용되는 식입니다.
predicate bool ✔️ expr을 결과에 추가하기 true위해 로 계산되는 조건자입니다.
Maxsize int 반환되는 요소의 최대 수에 대한 제한입니다. 기본값과 최대값은 1048576.

반환

조건자가 로 dynamic 계산되는 레코드에서 expr 값의 JSON 속성 모음(사전)을 반환합니다.true 사전이 아닌 값은 건너뜁습니다. 키가 둘 이상의 행에 나타나면 이 키에 대해 가능한 값 중 임의의 값이 선택됩니다.

참고

조건자가 없는 이 함수는 과 유사합니다 make_bag.

예제

다음 예제에서는 압축된 JSON 속성 모음을 보여줍니다.

let T = datatable(prop:string, value:string, predicate:bool)
[
    "prop01", "val_a", true,
    "prop02", "val_b", false,
    "prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag_if(p, predicate)

출력

dict
{ "prop01": "val_a", "prop03": "val_c" }

bag_unpack() 플러그 인을 사용하여 make_bag_if() 출력의 모음 키를 열로 변환합니다.

let T = datatable(prop:string, value:string, predicate:bool)
[
    "prop01", "val_a", true,
    "prop02", "val_b", false,
    "prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag_if(p, predicate)
| evaluate bag_unpack(bag)

출력

prop01 prop03
val_a val_c