다음을 통해 공유


table()

table() 함수는 해당 이름을 형식 string의 식으로 제공하여 테이블을 참조합니다.

구문

table(TableName [, DataScope])

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

매개 변수

이름 Type 필수 설명
TableName string ✔️ 참조되는 테이블의 이름입니다. 이 식의 값은 함수를 호출할 때 상수여야 하므로 데이터 컨텍스트에 따라 달라질 수 없습니다.
DataScope string 이 데이터가 테이블의 유효 캐시 정책에 속하는 방식에 따라 테이블 참조를 데이터로 제한하는 데 사용됩니다. 실제 인수를 사용하는 경우 유효한 데이터 범위 값하나여야 합니다.

유효한 데이터 범위 값

설명
hotcache 핫 캐시로 분류된 데이터만 참조됩니다.
all 테이블의 모든 데이터가 참조됩니다.
default 기본값은 all클러스터 관리자가 설정한 경우를 hotcache 제외하고입니다.

반품

table(T)은 다음을 반환합니다.

  • T라는 테이블이 있는 경우 T 테이블의 데이터입니다.
  • T라는 테이블이 없지만 T라는 함수가 있는 경우 함수 T에서 반환된 데이터입니다. 함수 T 는 인수를 사용하지 않아야 하며 테이블 형식 결과를 반환해야 합니다.
  • T라는 테이블이 없고 T라는 함수가 없는 경우 의미 체계 오류가 발생합니다.

예제

table()을 사용하여 현재 데이터베이스의 테이블에 액세스

table('StormEvents') | count

출력

Count
59066

let 문 내에서 table() 사용

위의 쿼리는 테이블() 함수에 전달되는 매개 변수 tableName 를 수신하는 쿼리 정의 함수(let 문)로 다시 작성할 수 있습니다.

let foo = (tableName:string)
{
    table(tableName) | count
};
foo('StormEvents')

출력

Count
59066

Functions 내에서 table() 사용

테이블() 함수에 전달되는 매개 변수 tableName 를 수신하는 함수에서 사용되도록 위와 동일한 쿼리를 다시 작성할 수 있습니다.

.create function foo(tableName:string)
{
    table(tableName) | count
};

참고 항목

이러한 함수는 클러스터 간 쿼리가 아닌 로컬에서만 사용할 수 있습니다.

상수가 아닌 매개 변수와 함께 table() 사용

스칼라 상수 문자열이 아닌 매개 변수는 함수에 매개 변수 table() 로 전달할 수 없습니다.

아래는 이러한 경우에 대한 해결 방법의 예를 제공합니다.

let T1 = print x=1;
let T2 = print x=2;
let _choose = (_selector:string)
{
    union
    (T1 | where _selector == 'T1'),
    (T2 | where _selector == 'T2')
};
_choose('T2')

출력

x
2