다음을 통해 공유


arg_max()(집계 함수)

적용 대상: ✅Microsoft Fabric✅

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

참고 항목

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

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

구문

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

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

매개 변수

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

반품

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

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

예제

최대 위도 찾기

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

StormEvents 
| summarize arg_max(BeginLat, BeginLocation) by State

출력

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

State(상태) BeginLat BeginLocation
미시시피 34.97 바튼
버몬트 45 노스 트로이
AMERICAN SAMOA -14.2 OFU
하와이 22.2113 프린스 빌
MINNESOTA 49.35 아르네센 주
로드아일랜드 42 WOONSOCKET
인디애나 41.73 프리 몬 트
WEST VIRGINIA 40.62 체스터
SOUTH CAROLINA 35.18 LANDRUM
TEXAS 36.4607 DARROUZETT
... ... ...

마지막 상태 치명적인 이벤트 찾기

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

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

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

출력

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

State(상태) StartTime EndTime ...
2007-01-27T11:15:00Z 2007-01-27T11:30:00Z ...
매사추세츠주 2007-02-03T22:00:00Z 2007-02-04T10:00:00Z ...
AMERICAN SAMOA 2007-02-17T13:00:00Z 2007-02-18T11:00:00Z ...
IDAHO 2007-02-17T13:00:00Z 2007-02-17T15:00:00Z ...
델라웨어 2007-02-25T13:00:00Z 2007-02-26T01:00:00Z ...
WYOMING 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 처리

다음 예제에서는 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

출력

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

max()와 비교

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

예제

arg_max()

테이블의 모든 열을 보여 주는 직접 사망 이벤트가 마지막으로 발생한 시간을 찾습니다.

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

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

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

StartTime EndTime EpisodeId EventId State(상태) EventType ...
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