SQL 및 Looker의 일반 규칙에 따라 집계 함수의 결과를 기준으로 쿼리를 그룹화할 수 없습니다(Looker에서 측정값으로 표시됨). 집계되지 않은 필드를 기준으로만 그룹화할 수 있습니다(Looker에서 측정기준으로 표시됨). Looker에서 측정값을 집계하려고 하면 다음 오류가 표시됩니다.
Measures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.
측정값(COUNT, SUM, AVG, MAX 등)을 측정기준으로 변경하여 집계하도록 그룹화하거나(COUNT의 SUM 또는 AVG의 SUM), HAVING 절이 아닌 WHERE 절에서 필터링하거나, Explore에서 피벗 테이블을 만들 수 있는 방법이 필요한 경우 어떻게 하나요?
파생 테이블을 사용하여 측정값 측정기준화
내부적으로 Looker에서 솔루션을 측정값 측정기준화라고 합니다. 이는 측정값을 측정기준으로 다시 정의하기 때문입니다. 이렇게 하려면 SQL 정의에서 측정기준화하려는 측정값이 포함된 파생 테이블을 만들면 됩니다.
처리 과정
다음 예시는 샘플 전자상거래 데이터 세트를 기반으로 합니다. 이 예시의 목표는 기존 총 수익 type: sum
측정값을 기반으로 하는 type: average
측정값을 만드는 것입니다.
다음 단계에서는 SQL 기반 파생 테이블을 생성하는 방법을 설명합니다. SQL 대신 기본 파생 테이블(NDT)이라고도 하는 LookML 기반 파생 테이블을 만들도록 선택할 수 있습니다.
- 먼저 Explore 쿼리를 설정합니다. 측정기준화할 측정값을 포함하여 적절한 필드를 선택합니다. 사용 사례에서 Explore 데이터 테이블에는 사용자 상태 및 사용자 ID별로 그룹화된 총 수익이 나와 있습니다.
- 데이터 테이블의 SQL 탭에서 SQL Runner에서 열기를 선택하여 SQL Runner에서 쿼리를 엽니다.
-
실행 버튼을 클릭하여 SQL Runner에서 쿼리를 실행하고 결과를 확인한 후 SQL Runner 톱니바퀴 메뉴에서 프로젝트에 추가 옵션을 선택하여 프로젝트에 추가 팝업을 엽니다. 이 시점에서 원하는 모든 결과가 쿼리에 포함되도록 파생 테이블 SQL에서 행 제한 절을 삭제해야 합니다.
또한 메뉴에서 파생 테이블 LookML 가져오기를 선택하고 생성된 LookML을 프로젝트에 직접 복사하여 붙여넣을 수 있습니다.
- 프로젝트에 추가 팝업의 프로젝트 드롭다운에서 프로젝트 이름을 선택하고 파생 테이블 뷰 파일의 이름을 입력한 후 추가를 선택합니다.
-
이제 파생 테이블이 뷰 파일에 있으므로 측정항목화된 측정값을 집계하는 측정값을 만들 수 있습니다. 예를 들어 이제 새로운 총 수익 측정기준인
order_items_total_revenue
에 대한type: average
측정값을 만들 수 있습니다.dimension: order_items_total_revenue { type: number sql: ${TABLE}.order_items.total_revenue ;; value_format_name: usd } measure: average_revenue { type: average sql: ${order_items_total_revenue} ;; value_format_name: usd }
- 파생 테이블에 기본 키가 정의되어 있는지 다시 확인합니다.
- 새 뷰를 원래 Explore로 조인하거나 새 Explore를 만들면 새 필드로 쿼리와 콘텐츠를 만들 수 있습니다.
결론
Looker 파생 테이블을 사용하여 측정값을 측정기준화하면 새로운 기능을 활용하고 데이터를 통해 보다 유용한 정보를 도출할 수 있습니다. 측정기준화된 측정값별로 그룹화하여 이를 WHERE 절(HAVING 대신)로 필터링하고 피벗 테이블을 만들고 이를 기반으로 다른 측정기준을 만들 수 있는 기능을 통해 Explore 쿼리와 콘텐츠를 다음 측정기준으로 이동할 수 있습니다.
파생 테이블 만들기 및 사용에 대한 자세한 내용과 고려사항 및 성능 최적화 팁을 보려면 파생 테이블 문서 페이지를 방문하세요.