다음을 통해 공유


arg_max()(집계 함수)

적용 대상: ✅Microsoft Fabric

테이블에서 지정된 식을 최대화하는 행을 찾습니다. 입력 테이블 또는 지정된 열의 모든 열을 반환합니다.

참고 항목

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

사용되지 않는 별칭: argmax()

구문

arg_max ( ExprToMaximize,* | ExprToReturn [, ...])

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

매개 변수

이름 유형 필수 설명
ExprToMaximize string ✔️ 최대값이 결정되는 식입니다.
ExprToReturn string ✔️ 식은 ExprToMaximize최대값이 있는 행에서 반환되는 열의 값을 결정합니다. 와일드카드 * 사용하여 모든 열을 반환합니다.

반품

ExprToMaximize지정된 식과 ExprToReturn지정된 열 값을 최대화하는 테이블의 행을 반환합니다.

최대값만 보려면 max() 함수사용합니다.

예제

일반 예제

다음 예제에서는 각 상태에서 Storm 이벤트의 최대 위도를 찾습니다.

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

출력

결과 테이블에는 처음 10개 행만 표시됩니다.

State(상태) BeginLat BeginLocation
미시시피 34.97 바튼
버몬트 45 노스 트로이
미국령 사모아 -14.2 OFU
하와이 22.2113 프린스 빌
미네소타 49.35 아르네센 주
로드아일랜드 42 WOONSOCKET
인디애나 41.73 프리 몬 트
웨스트 버지니아 40.62 체스터
사우스캐롤라이나 주 35.18 LANDRUM
텍사스 36.4607 DARROUZETT
... ... ...

다음 예제에서는 모든 열을 보여 주는 각 상태에서 직접 사망 이벤트가 마지막으로 발생한 시간을 찾습니다.

쿼리는 먼저 이벤트를 필터링하여 최소 한 번의 직접 사망이 발생한 이벤트만 포함합니다. 그런 다음 쿼리는 가장 최근 StartTime사용하여 전체 행을 반환합니다.

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *) by State

출력

결과 테이블에는 처음 10개의 행과 처음 세 개의 열만 표시됩니다.

State(상태) 시작 시간 종료시간 ...
2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
매사추세츠주 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
미국령 사모아 2007-02-17T13:00:00Z 2007-02-18T11:00:00Z ...
아이다호 2007-02-17T13:00:00Z 2007-02-17T15:00:00Z ...
델라웨어 2007-02-25T13:00:00Z 2007-02-26T01:00:00Z ...
와이오밍 2007-03-10T17:00:00Z 2007-03-10T17:00:00Z ...
뉴멕시코주 2007-03-23T18:42:00Z 2007-03-23T19:06:00Z ...
인디애나 2007-05-15T14:14:00Z 2007-05-15T14:14:00Z ...
몬태나주 2007-05-18T14:20:00Z 2007-05-18T14:20:00Z ...
미시간 호수 2007-06-07T13:00:00Z 2007-06-07T13:00:00Z ...
... ... ... ...

다음 예제에서는 null 처리를 보여 줍니다.

datatable(Fruit: string, Color: string, Version: int) [
    "Apple", "Red", 1,
    "Apple", "Green", int(null),
    "Banana", "Yellow", int(null),
    "Banana", "Green", int(null),
    "Pear", "Brown", 1,
    "Pear", "Green", 2,
]
| summarize arg_max(Version, *) by Fruit

출력

과일 버전
사과 1 빨강
바나나 노란색
2 녹색

arg_max() 및 max()를 비교하는 예제

arg_max() 함수는 max() 함수다릅니다. arg_max() 함수를 사용하면 최대값과 함께 다른 열을 반환할 수 있으며 max() 최대값 자체만 반환합니다.

다음 예제에서는 arg_max()를 사용하여 각 상태에서 직접 사망 이벤트가 마지막으로 발생한 시간을 찾아 모든 열을 표시합니다. 쿼리는 먼저 이벤트를 필터링하여 직접 사망이 하나 이상 발생한 이벤트만 포함합니다. 그런 다음 쿼리는 가장 최근(최대) StartTime을 사용하여 전체 행을 반환합니다.

StormEvents
| where DeathsDirect > 0
| summarize arg_max(StartTime, *)

결과 테이블은 지정된 식에서 가장 높은 값을 포함하는 행의 모든 열을 반환합니다.

시작 시간 종료시간 EpisodeId EventId State(상태) 이벤트 유형 ...
2007-12-31T15:00:00Z 2007-12-31T15:00:00 12688 69700 유타 눈사태 ...

다음 예제에서는 max() 함수를 사용하여 각 상태에서 직접 사망 이벤트가 발생한 마지막 시간을 찾지만 StartTime의 최대값만 반환합니다.

StormEvents
| where DeathsDirect > 0
| summarize max(StartTime)

결과 테이블은 이 레코드에 대한 다른 열을 반환하지 않고 StartTime의 최대값을 반환합니다.

max_StartTime
2007-12-31T15:00:00Z