- 카테고리:
SEMANTIC_VIEW¶
쿼리 에 대한 시맨틱 뷰 를 지정합니다. SELECT 문의 FROM 절에서 SEMANTIC_VIEW (…)를 지정합니다.
- 참고 항목:
구문¶
SEMANTIC_VIEW(
[<namespace>.]<semantic_view_name>
[ METRICS <metric> [ , ... ] ]
[ DIMENSIONS <dimension_expr> [ , ... ] ]
[ WHERE <predicate> ]
)
매개 변수¶
[namespace.]semantic_view_name
쿼리할 시맨틱 뷰의 식별자를 지정합니다.
식별자에 공백이나 특수 문자가 포함된 경우 전체 문자열을 큰따옴표로 묶어야 합니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.
자세한 내용은 식별자 요구 사항 섹션을 참조하십시오.
METRICS metric [ , ... ]
결과에서 반환할 메트릭을 지정합니다.
참고
메트릭을 사용하는 식은 지정할 수 없습니다. 예를 들어,
t1.metric_1 + 1
을 지정할 수 없습니다.메트릭 이름:
메트릭의 이름을 한정할 수 있습니다(예:
my_logical_table.my_metric
).정규화되지 않은 이름을 사용하면 시맨틱 뷰에 동일한 정규화되지 않은 이름을 가진 다른 식별자가 없는 경우에만 작동합니다. 예를 들어, 메트릭과 차원이 동일한 정규화되지 않은 이름을 사용하는 경우 쿼리에서 메트릭의 이름을 정규화해야 합니다.
모든 메트릭을 지정하려면 논리적 테이블 이름으로 한정된 별표를 사용합니다(예:
my_logical_table.*
). 별표는 테이블 이름으로 한정하지 않고는 지정할 수 없습니다.
결과에 표시할 메트릭을 순서대로 지정합니다.
DIMENSIONS dimension_expr [ , ... ]
결과에서 반환할 차원을 지정합니다. 시맨틱 뷰에서 차원을 참조하는 스칼라 식을 지정할 수도 있습니다.
차원 이름:
차원의 이름을 한정할 수 있습니다(예:
my_logical_table.my_dimension
). 정규화되지 않은 이름을 사용하면 시맨틱 뷰에 동일한 정규화되지 않은 이름을 가진 다른 식별자가 없는 경우에만 작동합니다. 예를 들어, 메트릭과 차원이 동일한 정규화되지 않은 이름을 사용하는 경우 쿼리에서 차원의 이름을 정규화해야 합니다.모든 차원을 지정하려면 논리적 테이블 이름으로 한정된 별표를 사용합니다(예:
my_logical_table.*
). 별표는 테이블 이름으로 한정하지 않고는 지정할 수 없습니다.
스칼라 식을 지정하면 해당 식에서 다른 시맨틱 뷰, 팩트 또는 메트릭의 차원을 참조할 수 없습니다.
결과에 표시할 차원을 순서대로 지정합니다.
WHERE predicate
부울 식입니다. 식에는 논리 연산자, 기본 제공 함수, 사용자 정의 함수(UDF) 가 포함될 수 있습니다.
조건에서는 차원 또는 차원을 사용하는 식만 참조할 수 있습니다.
이 필터 조건은 메트릭이 계산되기 전에 적용됩니다.
사용법 노트¶
SEMANTIC_VIEWS 절에서 METRICS 절, DIMENSIONS 절 또는 두 절을 모두 지정해야 합니다.
SEMANTIC_VIEWS 절에서 이 두 절을 모두 생략할 수 없습니다.
결과에 표시할 METRICS 및 DIMENSIONS 절을 원하는 순서대로 지정합니다.
결과에서 차원을 먼저 표시하려면 METRICS 앞에 DIMENSIONS 을 지정합니다. 그렇지 않으면 METRICS 을 먼저 지정하십시오.
예를 들어, METRICS 절을 먼저 지정한다고 가정해 보겠습니다.
SELECT * FROM SEMANTIC_VIEW( tpch_analysis METRICS customer.customer_order_count DIMENSIONS customer.customer_name ) ORDER BY customer_name LIMIT 5;
출력에서 첫 번째 열은 메트릭 열(
customer_order_count
)이고 두 번째 열은 차원 열(customer_name
)입니다.+----------------------+--------------------+ | CUSTOMER_ORDER_COUNT | CUSTOMER_NAME | |----------------------+--------------------| | 6 | Customer#000000001 | | 7 | Customer#000000002 | | 0 | Customer#000000003 | | 20 | Customer#000000004 | | 4 | Customer#000000005 | +----------------------+--------------------+
대신 DIMENSIONS 절을 먼저 지정하는 경우:
SELECT * FROM SEMANTIC_VIEW( tpch_analysis DIMENSIONS customer.customer_name METRICS customer.customer_order_count ) ORDER BY customer_name LIMIT 5;
출력에서 첫 번째 열은 차원 열(
customer_name
)이고 두 번째 열은 메트릭 열(customer_order_count
)입니다.+--------------------+----------------------+ | CUSTOMER_NAME | CUSTOMER_ORDER_COUNT | |--------------------+----------------------| | Customer#000000001 | 6 | | Customer#000000002 | 7 | | Customer#000000003 | 0 | | Customer#000000004 | 20 | | Customer#000000005 | 4 | +--------------------+----------------------+
SEMANTIC_VIEW 절로 정의된 관계를 JOIN, PIVOT, UNPIVOT, GROUP BY, 공통 테이블 식(CTEs) 등 다른 SQL 구조에서 사용할 수 있습니다.
출력 열 헤더는 메트릭 및 차원의 정규화되지 않은 이름을 사용합니다.
이름이 같은 메트릭 및 차원이 여러 개 있는 경우 테이블 별칭을 사용하여 열 헤더에 다른 이름을 할당합니다. 출력에서 중복된 열 이름 처리하기 섹션을 참조하십시오.
예¶
의미 체계 뷰 쿼리하기 섹션을 참조하십시오.