arg_max()(집계 함수)
적용 대상: ✅Microsoft Fabric✅
테이블에서 지정된 식을 최대화하는 행을 찾습니다. 입력 테이블 또는 지정된 열의 모든 열을 반환합니다.
참고 항목
이 함수는 summarize 연산자와 함께 사용됩니다.
사용되지 않는 별칭: argmax()
구문
arg_max
(
ExprToMaximize,
* | ExprToReturn [,
...])
구문 규칙에 대해 자세히 알아봅니다.
매개 변수
이름 | Type | 필수 | 설명 |
---|---|---|---|
ExprToMaximize | string |
✔️ | 최대값이 결정되는 식입니다. |
ExprToReturn | string |
✔️ | 식은 ExprToMaximize최대값이 있는 행에서 반환되는 열의 값을 결정합니다. 와일드카드 * 사용하여 모든 열을 반환합니다. |
반품
ExprToMaximize
팁
최대값만 보려면 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 |