집계_표

용도

Explore: Explore_name } ') ]} 분야 ][] ]
계층 구조
aggregate_table
기본값
없음

결제 가능
집계 테이블의 이름, 표를 정의하는 query 하위 매개변수, 표의 지속성 전략을 정의하는 materialization 하위 매개변수
특수 규칙
  • table_name는 지정된 explore 내에서 고유해야 합니다.
  • materialization 하위 매개변수에서 집계 테이블의 지속성 전략을 지정해야 합니다.

정의

aggregate_table 매개변수는 데이터베이스의 대규모 테이블에 필요한 쿼리 수를 최소화하는 집계 테이블을 만드는 데 사용됩니다.

Looker는 집계 인지도 로직을 사용하여 정확성을 유지하면서 데이터베이스에서 쿼리를 실행하는 가장 작고 효율적인 집계 테이블을 찾습니다. 집계 테이블 만들기의 개요와 전략은 집계 인지도 문서 페이지를 참고하세요.

데이터베이스에 크기가 매우 큰 테이블의 경우 다양한 속성 조합으로 그룹화하여 작은 데이터 총괄 표를 만들 수 있습니다. 집계 테이블은 원본 큰 테이블 대신 언제든지 Looker에서 쿼리에 사용할 수 있는 롤업 또는 요약 테이블 역할을 합니다.

집계 인식에 액세스하려면 데이터베이스에 집계 테이블이 유지되어야 합니다. 지속성 전략은 집계 테이블의 materialization 매개변수에 지정됩니다. 또한 집계 테이블은 영구 파생 테이블 (PDT)의 한 유형이므로 PDT와 데이터베이스 연결 및 언어 요구사항이 동일합니다. 자세한 내용은 Looker의 파생 테이블 문서 페이지를 참조하세요.

집계 테이블을 만든 후에는 탐색에서 쿼리를 실행하여 Looker에서 사용하는 집계 테이블을 확인할 수 있습니다. 자세한 내용은 집계 인지도 문서 페이지의 쿼리에 사용되는 집계 테이블 확인 섹션을 참고하세요.

집계 테이블이 사용되지 않는 일반적인 이유는 집계 인식 문서 페이지의 문제 해결 섹션을 참고하세요.

LookML에서 집계 테이블 정의

LookML을 처음부터 만드는 대신 탐색 또는 대시보드를 사용하여 LookML을 집계할 수 있습니다. 자세한 내용은 이 페이지의 탐색에서 집계 테이블 LookML 가져오기대시보드에서 집계 테이블 LookML 가져오기 섹션을 참조하세요.

aggregate_table 매개변수에는 지정된 explore 내에서 고유한 이름이 있어야 합니다.

aggregate_table 매개변수에는 querymaterialization 하위 매개변수가 있습니다.

query

query 매개변수는 사용할 측정기준과 측정항목을 포함하여 집계 테이블의 쿼리를 정의합니다. query 매개변수에는 다음과 같은 하위 매개변수가 포함됩니다.

이 섹션에서는 aggregate_table의 일부인 query 매개변수를 설명합니다.

queryquery 매개변수 문서 페이지에 설명된 대로 explore의 일부로 사용할 수도 있습니다.

매개변수 이름 설명
dimensions 집계 테이블에 포함될 탐색 분석 측정기준의 쉼표로 구분된 목록입니다. dimensions 필드는 다음 형식을 사용합니다.
dimensions: [dimension1, dimension2, ...]

이 목록의 각 측정기준은 쿼리의 탐색에 대한 보기 파일에서 dimension로 정의되어야 합니다. 탐색 쿼리에 filter 필드로 정의된 필드를 포함하려면 집계 테이블 쿼리의 filters 목록에 추가하면 됩니다.
dimensions:
  [orders.created_month, orders.country]
measures 집계 테이블에 포함될 탐색에서 측정된 쉼표로 구분된 목록입니다. measures 필드는
measures: [measure1, measure2, ...]

형식을 사용합니다. 집계 인식에 지원되는 측정 유형에 대한 자세한 내용은 집계 인식 문서 페이지의 측정 유형 요소 섹션을 참조하세요.
measures:
  [orders.count]
filters 원하는 경우 query에 필터를 추가합니다. 필터는 집계 테이블을 생성하는 SQL의 WHERE 절에 추가됩니다.
filters 필드는 다음 형식을 사용합니다.
filters: [field1: "value1", field2: "value2", ...]

필터가 집계 표 사용을 방지하는 방법에 대한 자세한 내용은 집계 인식 문서 페이지의 필터 요소 섹션을 참고하세요.
filters: [orders.country: "United States", orders.state: "California"]
sorts 선택사항으로 query의 정렬 필드와 정렬 방향 (오름차순 또는 내림차순)을 지정합니다.
sorts 필드에는
sorts: [field1: asc|desc, field2: asc|desc, ...] 형식이 사용됩니다.
[orders.country: asc, orders.state: desc]
timezone query의 시간대를 설정합니다. 시간대를 지정하지 않으면 총괄 표는 시간대 변환을 수행하지 않으며 데이터베이스 시간대를 사용합니다.

집계 테이블이 쿼리 소스로 사용되도록 시간대를 설정하는 방법은 집계 인식 문서 페이지의 시간대 요소 섹션을 참고하세요.

IDE에서는 timezone 매개변수를 입력할 때 시간대 값을 자동 추천합니다. IDE에서는 빠른 도움말 패널에 지원되는 시간대 값 목록도 표시됩니다.
timezone: America/Los_Angeles

materialization

materialization 매개변수는 집계 테이블의 지속성 전략과 SQL 언어에서 지원할 수 있는 배포, 파티션 나누기, 색인, 클러스터링의 기타 옵션을 지정합니다.

집계 인식에 액세스할 수 있으려면 집계 테이블이 데이터베이스에 지속되어야 합니다. 집계 테이블에는 다음 지속성 전략 중 하나가 있어야 합니다.

SQL 언어에 따라 집계 표에 다른 materialization 옵션이 지원될 수도 있습니다.

마지막으로 증분 집계 테이블을 만들려면 다음 materialization 하위 매개변수를 사용합니다.

datagroup_trigger

datagroup_trigger 매개변수를 사용하여 모델 파일에 정의된 기존 데이터 그룹을 기반으로 집계 테이블의 재생성을 트리거합니다.


explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      datagroup_trigger: order_datagroup
    }
    query: {
      ...
    }
  }
  ...
}

sql_trigger_value

sql_trigger_value 매개변수를 사용하면 제공한 SQL 문을 기반으로 집계 테이블의 재생성을 트리거합니다. SQL 문의 결과가 이전 값과 다르면 테이블이 다시 생성됩니다. 이 sql_trigger_value 문은 날짜가 변경되면 재생성을 트리거합니다.

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      sql_trigger_value: SELECT CURDATE() ;;
    }
    query: {
      ...
    }
  }
  ...
}

persist_for

persist_for 매개변수는 집계 테이블에도 지원됩니다. 그러나 persist_for 전략으로는 집계 인지도에 대한 최적의 실적을 내지 못할 수 있습니다. 그 이유는 사용자가 persist_for 테이블에 의존하는 쿼리를 실행할 때 Looker가 테이블의 기간을 persist_for 설정과 비교하여 확인하기 때문입니다. 테이블이 persist_for 설정보다 오래된 경우 쿼리가 실행되기 전에 테이블이 다시 생성됩니다. 나이가 persist_for 설정보다 작으면 기존 테이블이 사용됩니다. 따라서 사용자가 persist_for 시간 내에 쿼리를 실행하지 않는 한 집계 테이블을 다시 사용해야 집계 인식에 사용할 수 있습니다.

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      persist_for: "90 minutes"
    }
    query: {
      ...
    }
  }
  ...
}

제한사항을 이해하고 persist_for 구현에 대한 구체적인 사용 사례가 없다면 datagroup_trigger 또는 sql_trigger_value를 집계 테이블의 지속성 전략으로 사용하는 것이 좋습니다.

cluster_keys

cluster_keys 매개변수를 사용하면 BigQuery 또는 Snowflake의 파티션을 나눈 테이블에 클러스터링된 열을 추가할 수 있습니다. 클러스터링은 클러스터링된 열의 값을 기반으로 파티션의 데이터를 정렬하고 클러스터링된 열을 최적의 크기의 스토리지 블록으로 정리합니다.

BigQuery의 경우 partition_keys 매개변수를 사용하여 파티션을 나눈 집계 테이블에서 클러스터링이 지원됩니다.

자세한 내용은 cluster_keys 매개변수 문서 페이지를 참고하세요.

distribution

distribution 매개변수를 사용하면 배포 키를 적용할 집계 테이블의 열을 지정할 수 있습니다. distribution는 Redshift 및 Aster 데이터베이스에서만 작동합니다. 다른 SQL 언어 (예: MySQL 및 Postgres)에는 indexes를 대신 사용합니다.

자세한 내용은 distribution 매개변수 문서 페이지를 참고하세요.

distribution_style

distribution_style 매개변수를 사용하면 Redshift 데이터베이스의 노드 전체에 집계 테이블 쿼리가 분산되는 방식을 지정할 수 있습니다.

  • distribution_style: all는 모든 행이 각 노드에 완전히 복사되었음을 나타냅니다.
  • distribution_style: even는 균일한 배포를 지정하므로 행이 라운드 로빈 방식으로 여러 노드에 배포됩니다.

특정 열의 고유한 값 (배포 키)을 기반으로 쿼리를 배포하려면 distribution 매개변수를 사용하면 됩니다.

자세한 내용은 distribution_style 매개변수 문서 페이지를 참고하세요.

indexes

indexes 매개변수를 사용하면 색인을 집계 테이블의 열에 적용할 수 있습니다.

자세한 내용은 indexes 매개변수 문서 페이지를 참고하세요.

partition_keys

partition_keys 매개변수는 집계 테이블의 파티션을 나눌 열 배열을 정의합니다. partition_keys는 열을 파티션으로 나눌 수 있는 데이터베이스 언어를 지원합니다. 파티션을 나눈 열에서 필터링되는 쿼리가 실행되면 데이터베이스는 전체 테이블을 스캔하지 않고 필터링된 데이터가 포함된 파티션만 스캔합니다. partition_keys는 Presto 및 BigQuery 언어에서만 지원됩니다.

자세한 내용은 partition_keys 매개변수 문서 페이지를 참고하세요.

sortkeys

sortkeys 매개변수를 사용하면 일반 정렬 키를 적용할 집계 테이블의 열을 하나 이상 지정할 수 있습니다.

자세한 내용은 sortkeys 매개변수 문서 페이지를 참고하세요.

increment_key

언어가 PDT를 지원하는 경우 프로젝트에 증분 PDT를 만들 수 있습니다. 증분 PDT는 테이블 전체를 완전히 다시 빌드하는 대신 Looker에서 테이블에 새 데이터를 추가하여 빌드하는 PDT (영구 파생 테이블)입니다. 자세한 내용은 증분 PDT 문서 페이지를 참조하세요.

집계 테이블은 PDT의 한 유형으로, increment_key 매개변수를 추가하여 증분식으로 빌드할 수 있습니다. increment_key 매개변수는 새 데이터를 쿼리하여 집계 테이블에 추가해야 하는 시간 증가분을 지정합니다.

자세한 내용은 increment_key 매개변수 문서 페이지를 참고하세요.

increment_offset

increment_offset 매개변수는 총괄 표에 데이터를 추가할 때 다시 빌드될 이전 기간의 수 (증분 키의 세부사항)를 정의합니다. increment_offset 매개변수는 증분 PDT 및 집계 테이블에서 선택사항입니다.

자세한 내용은 increment_offset 매개변수 문서 페이지를 참고하세요.

탐색에서 집계 테이블 LookML 가져오기

바로가기로, Looker 개발자는 Explore 쿼리를 사용하여 집계 테이블을 만든 다음 LookML을 LookML 프로젝트에 복사할 수 있습니다.

  1. 탐색에서 집계 표에 포함할 모든 필드와 필터를 선택합니다.
  2. 실행을 클릭하여 결과를 가져옵니다.
  3. 탐색의 톱니바퀴 메뉴에서 LookML 다운로드를 선택합니다. 이 옵션은 Looker 개발자에게만 제공됩니다.
  4. 집계 테이블 탭을 클릭합니다.
  5. Looker는 총괄 테이블을 탐색에 추가할 탐색 상세검색에 LookML을 제공합니다. LookML을 복사하여 관련 모델 파일에 붙여넣습니다. 이 파일은 탐색 상세검색 위의 주석에 표시되어 있습니다. 탐색이 모델 파일이 아닌 별도의 탐색 파일에 정의된 경우 모델 파일 대신 탐색 파일에 상세검색을 추가할 수 있습니다. 두 위치 모두 작동합니다.

Looker에서는 탐색의 측정기준을 기반으로 집계 테이블에 이름을 지정합니다. Looker는 살펴보기용 집계 테이블 LookML을 제공할 때마다 집계 테이블에 동일한 이름을 사용합니다. 이전에 추가되었을 수 있는 동일한 탐색에 대한 다른 수정사항에 유의하세요. 본인 또는 다른 개발자가 이미 Explore에서 집계표 LookML을 가져온 경우 Looker에서 집계표에 동일한 이름을 지정합니다. 탐색 분석에 상세검색이 여러 개 있고 각각 동일한 이름의 집계 표가 있는 경우 한 상세검색이 LookML 상세검색 문서 페이지의 순서 지정이 순서대로 적용됨 섹션에 설명된 대로 다른 상세검색보다 우선합니다.

집계표 LookML을 수정해야 하는 경우 이 페이지의 LookML에서 집계표 정의 섹션에 설명된 매개변수를 사용하여 수정할 수 있습니다. 집계 테이블을 원래 탐색 쿼리로 변경하지 않고 집계 테이블의 이름을 변경할 수 있습니다. 하지만 그밖에 총괄 표를 변경하면 Looker에서 탐색 쿼리에 집계 테이블을 사용할 수 있는 기능에 영향을 줄 수 있습니다. 집계 테이블이 집계 인식에 사용되도록 최적화하는 방법은 집계 인식 문서 페이지의 집계 테이블 설계 섹션을 참조하세요.

대시보드에서 전체 테이블 LookML 가져오기

Looker 개발자를 위한 또 다른 옵션은 대시보드의 모든 타일에 대한 집계 테이블 LookML을 가져온 다음 LookML을 LookML 프로젝트에 복사하는 것입니다.

집계 테이블을 만들면 특히 대규모 데이터 세트를 쿼리하는 타일의 경우 대시보드의 성능이 크게 향상될 수 있습니다.

develop 권한이 있는 경우 대시보드를 열고 대시보드의 점 3개로 된 메뉴에서 LookML 사용을 선택한 다음 집계 테이블 탭을 선택하여 LookML에서 대시보드의 집계 테이블을 만들 수 있습니다.

집계 인식으로 아직 최적화되지 않은 각 타일의 경우 Looker는 집계 테이블을 탐색에 추가할 탐색 상세검색의 LookML을 제공합니다. 대시보드에 동일한 탐색 분석의 여러 타일이 포함되어 있는 경우 Looker에서 모든 집계 테이블을 하나의 탐색 상세검색에 추가합니다. Looker는 생성된 집계표의 수를 줄이기 위해 생성된 집계표를 두 개 이상의 타일에 사용할 수 있는지 결정하고 더 많은 타일을 사용할 수 있는 중복 집계표를 삭제합니다.

각 탐색 상세검색을 복사하여 관련 모델 파일에 붙여넣습니다. 이는 탐색 상세검색 위의 댓글에 나와 있습니다. 탐색이 모델 파일이 아닌 별도의 탐색 파일에 정의된 경우 모델 파일 대신 탐색 파일에 상세검색을 추가할 수 있습니다. 두 위치 모두 작동합니다.

Looker는 타일 쿼리 측정기준에 따라 각 집계 테이블에 이름을 지정합니다. Looker는 타일 쿼리에 대해 집계 테이블 LookML을 제공할 때마다 집계 테이블에 동일한 이름을 사용합니다. 따라서 이전에 추가되었을 수 있는 카드의 탐색 기능에 관한 기타 수정사항에 유의해야 합니다. 사용자 또는 다른 개발자가 이미 대시보드 타일 쿼리에서 집계 테이블 LookML을 가져온 경우 Looker에서 총괄 테이블에 동일한 이름을 부여합니다. 탐색 분석에 상세검색이 여러 개 있고 각각 동일한 이름의 집계 표가 있는 경우 한 상세검색이 LookML 상세검색 문서 페이지의 순서 지정이 순서대로 적용됨 섹션에 설명된 대로 다른 상세검색보다 우선합니다.

카드에 적용된 대시보드 필터가 있는 경우 Looker에서 타일의 집계 표에 필터 측정기준을 추가하여 집계 테이블을 해당 타일에 사용할 수 있습니다. 이는 쿼리 필터가 집계 테이블에서 측정기준으로 사용할 수 있는 필드를 참조하는 경우에만 쿼리에 집계 테이블을 사용할 수 있기 때문입니다. 자세한 내용은 집계 인지 문서 페이지를 참조하세요.

집계표 LookML을 수정해야 하는 경우 이 페이지의 LookML에서 집계표 정의 섹션에 설명된 매개변수를 사용하여 수정할 수 있습니다. 원본 대시보드 타일로의 적용 여부를 변경하지 않고 집계 테이블의 이름을 변경할 수 있지만, 집계 표의 기타 변경사항은 Looker에서 대시보드에 집계 테이블을 사용하는 기능에 영향을 미칠 수 있습니다. 집계 테이블이 집계 인식에 사용되도록 최적화하는 방법은 집계 인식 문서 페이지의 집계 테이블 설계 섹션을 참조하세요.

다음 예시에서는 event 탐색에 사용할 monthly_orders 집계 테이블을 만듭니다. 총괄 표는 월간 주문 수를 생성합니다. Looker는 연간, 분기별, 월간 주문 수에 대한 쿼리와 같이 월간 세부사항을 활용할 수 있는 주문 수 쿼리에 총괄 표를 사용합니다.

집계 테이블은 데이터 그룹 orders_datagroup을 사용하여 지속성으로 설정됩니다.

집계 표 정의는 다음과 같습니다.

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      datagroup_trigger: orders_datagroup
    }
    query: {
      dimensions: [orders.created_month]
      measures: [orders.count]
      filters: [orders.created_date: "1 year", orders.status: "fulfilled"]
      timezone: America/Los_Angeles
    }
  }
}

고려사항

집계 테이블을 전략적으로 만드는 방법에 대한 도움말은 집계 인식 문서 페이지의 집계 테이블 설계 섹션을 참조하세요.

집계 인식을 위한 방언 지원

집계 인식을 사용할 수 있는지 여부는 Looker 연결에서 사용하는 데이터베이스 언어에 따라 다릅니다. 최신 Looker 버전에서는 다음 방언이 집계 인식을 지원합니다.