toscalar()
계산된 식의 스칼라 상수 값을 반환합니다.
이 함수는 미리 구성된 계산이 필요한 쿼리에 유용합니다. 예를 들어 총 이벤트 수를 계산한 다음 결과를 사용하여 모든 이벤트의 특정 백분율을 초과하는 그룹을 필터링합니다.
두 문은 세미콜론으로 구분해야 합니다.
Syntax
toscalar(
expression)
구문 규칙에 대해 자세히 알아보세요.
매개 변수
이름 | 형식 | 필수 | Description |
---|---|---|---|
expression | string |
✔️ | 스칼라 값으로 변환할 값입니다. |
반환
계산된 식의 스칼라 상수 값입니다. 결과가 테이블 형식인 경우 변환을 위해 첫 번째 열과 첫 번째 행이 수행됩니다.
팁
를 사용할 때 쿼리의 가독성을 위해 let 문을 사용할 수 있습니다 toscalar()
.
제한 사항
toscalar()
은 각 행에 함수를 적용하는 시나리오에 적용할 수 없습니다. 이는 함수가 쿼리 실행 중에 일정한 횟수만 계산할 수 있기 때문입니다.
일반적으로 이 제한에 도달하면 다음 오류가 반환됩니다. can't use '<column name>' as it is defined outside its row-context scope.
다음 예제에서는 오류와 함께 쿼리가 실패합니다.
'toscalar': can't use 'x' as it is defined outside its row-context scope.
let _dataset1 = datatable(x:long)[1,2,3,4,5];
let _dataset2 = datatable(x:long, y:long) [ 1, 2, 3, 4, 5, 6];
let tg = (x_: long)
{
toscalar(_dataset2| where x == x_ | project y);
};
_dataset1
| extend y = tg(x)
이 오류는 다음 예제와 같이 연산자를 join
사용하여 완화할 수 있습니다.
let _dataset1 = datatable(x: long)[1, 2, 3, 4, 5];
let _dataset2 = datatable(x: long, y: long) [1, 2, 3, 4, 5, 6];
_dataset1
| join (_dataset2) on x
| project x, y
출력
x | y |
---|---|
1 | 2 |
3 | 4 |
5 | 6 |
예제
Start
, End
및 Step
을 스칼라 상수로 평가하고 결과를 평가에 range
사용합니다.
let Start = toscalar(print x=1);
let End = toscalar(range x from 1 to 9 step 1 | count);
let Step = toscalar(2);
range z from Start to End step Step | extend start=Start, end=End, step=Step
출력
z | start | end | 단계 |
---|---|---|---|
1 | 1 | 9 | 2 |
3 | 1 | 9 | 2 |
5 | 1 | 9 | 2 |
7 | 1 | 9 | 2 |
9 | 1 | 9 | 2 |
다음 예제에서는 식을 한 번 정확하게 계산하도록 식을 "수정"하는 데 사용할 수 있는 방법을 toscalar
보여줍니다. 이 경우 계산되는 식은 계산당 다른 값을 반환합니다.
let g1 = toscalar(new_guid());
let g2 = new_guid();
range x from 1 to 2 step 1
| extend x=g1, y=g2
출력
x | y |
---|---|
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c2937642-0d30-4b98-a157-a6706e217620 |
e6a15e72-756d-4c93-93d3-fe85c18d19a3 | c6a48cb3-9f98-4670-bf5b-589d0e0dcaf5 |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기