파생_테이블

용도

뷰: my_view {
derived_table: { ... }
}
계층 구조
derived_table
기본값
없음

정의

파생된 테이블은 데이터베이스의 일반 테이블처럼 취급할 수 있습니다. 다음 유형의 파생 테이블 중 하나를 만들 수 있습니다.

특정 극단적인 사례에서는 sql 매개변수 사용을 허용하지 않습니다. 이러한 경우 Looker는 PDT에 SQL 쿼리를 정의할 때 다음 매개변수를 지원합니다.

  • create_process
  • sql_create
  • sql, create_process, sql_create 매개변수를 사용하는 경우 모두 SQL 쿼리로 파생 테이블을 정의하므로 모두 SQL 기반 파생 테이블로 간주됩니다.

    derived_table 매개변수는 파생된 테이블의 계산 방식, 사용할 색인 또는 키, 다시 생성할 시점을 정의하는 LookML 섹션을 시작합니다.

    파생 테이블은 사용자가 데이터를 요청할 때 임시로 계산되는 임시 파생 테이블이거나 지속성 전략을 사용하여 데이터베이스에 유지되는 영구 파생 테이블 (PDT)일 수 있습니다.

    관리자가 증분 PDT 실험실 기능을 사용 설정했고 언어가 이를 지원하는 경우 프로젝트에서 증분 PDT를 사용할 수 있습니다. 증분 PDT는 테이블 전체를 다시 빌드하는 대신 테이블에 새 데이터를 추가하여 점진적으로 빌드되는 PDT입니다. 증분 PDT에 대한 자세한 내용은 증분 PDT 문서 페이지를 참조하세요.

    파생 테이블에 대한 자세한 내용은 Looker의 파생 테이블 문서 페이지를 참조하세요.

    Examples

    explore_source 매개변수를 사용하여 customer_order_facts 네이티브 파생 테이블을 만듭니다.

    view: customer_order_facts {
      derived_table: {
        explore_source: order {
          column: customer_id { field: order.customer_id }
          column: lifetime_orders { field: order.count }
          column: lifetime_spend { field: order.total_spend }
        }
      }
    }
    

    sql 매개변수를 사용하여 customer_order_facts 파생 테이블을 만듭니다.

    view: customer_order_facts {
      derived_table: {
        sql:
          SELECT
            customer_id,
            COUNT(*) AS lifetime_orders,
            SUM(total) AS lifetime_spend
          FROM
            order
          GROUP BY
            customer_id ;;
      }
    }
    

    고려사항

    파생 테이블을 과도하게 사용하여 순수한 SQL 솔루션을 만들지 않음

    특히 SQL에 익숙한 사용자는 파생된 테이블을 사용하여 복잡한 SQL 쿼리 문제를 해결하는 경우가 많으며 그 결과는 사용자에게 노출될 수 있습니다. 경우에 따라 이렇게 해야 할 수도 있지만 LookML의 모듈식이고 재사용 가능한 특성도 놓칠 수 있으며, 사용자가 데이터를 엄격한 방식으로 탐색해야 할 수 있습니다.

    일반적으로 SQL 쿼리의 기본 목적을 고려하여 기존 쿼리를 파생된 테이블에 복사하여 붙여넣지 말고 LookML로 변환하는 것이 좋습니다. 파생된 테이블을 사용하지 않는 분석을 만드는 데 도움이 필요하다면 Looker 지원 분석가의 도움을 받으세요.

    파생 테이블에 지원되는 데이터베이스 언어

    임시 파생 테이블에 지원되는 데이터베이스 언어

    Looker 프로젝트에서 파생된 테이블을 Looker에서 지원하려면 데이터베이스 언어에서도 Looker에서 지원해야 합니다. 다음 표는 최신 버전의 Looker에서 파생 테이블을 지원하는 언어를 보여줍니다.

    영구 파생 테이블에 지원되는 데이터베이스 언어

    Looker 프로젝트에서 PDT를 지원하려면 데이터베이스 언어에서도 PDT를 지원해야 합니다.

    모든 유형의 영구 파생 테이블 (LookML 기반 또는 SQL 기반)을 지원하려면 언어가 다른 요구사항 중에서 데이터베이스에 쓰기를 지원해야 합니다. 지속성을 허용하지 않는 일부 읽기 전용 데이터베이스 구성이 있습니다 (가장 일반적인 Postgres 핫 스왑 복제본 데이터베이스). 이러한 경우에는 임시 파생 테이블을 대신 사용할 수 있습니다.

    다음 표는 최신 출시 버전의 Looker에서 SQL 기반 파생 테이블을 지원하는 언어를 보여줍니다.

    영구 네이티브 파생 테이블 (LookML 기반 쿼리가 있음)을 지원하려면 언어도 CREATE TABLE DDL 함수를 지원해야 합니다. 다음은 최신 Looker 출시 버전에서 영구적인 네이티브 (LookML 기반) 파생 테이블을 지원하는 언어 목록입니다.

    PDT는 OAuth를 사용하는 Snowflake 연결에 지원되지 않습니다.

    증분 PDT에 지원되는 데이터베이스 언어

    Looker 프로젝트에서 증분 PDT를 지원하려면 데이터베이스 언어에서 행 삭제 및 삽입을 사용 설정하는 데이터 정의 언어 (DDL) 명령어를 지원해야 합니다.

    다음 표는 최신 Looker 버전에서 증분 PDT를 지원하는 언어를 보여줍니다.