다음을 통해 공유


make_bag_if()(집계 함수)

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

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

참고 항목

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

구문

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

구문 규칙에 대해 자세히 알아봅니다.

매개 변수

이름 Type 필수 설명
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" }

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

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