다음을 통해 공유


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개의 행과 처음 3개의 열만 표시됩니다.

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 처리를 보여 줍니다.

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