내 측정값이 조인을 통해 표시되지 않는 이유는 무엇인가요?

뷰에서 측정값을 정의했지만 해당 뷰를 다른 뷰에 조인하면 Explore에 측정값이 더 이상 표시되지 않습니다. 측정값은 어디로 갔나요?

원인 및 해결책

가능한 근본 원인은 대칭 집계의 사용 설정 여부에 따라 다를 수 있습니다. 대칭 집계는 개발자가 symmetric_aggregates: no LookML 설정에서 이를 사용 중지하거나 데이터베이스 언어가 대칭 집계를 지원하지 않는 경우를 제외하고 자동으로 사용 설정됩니다.

대칭 집계가 사용 설정된 경우

대칭 집계를 사용하면 조인을 통해 모든 유형의 측정값을 전달할 수 있습니다. 하지만 이 방법은 조인의 양쪽에서 뷰에 정의된 기본 키가 있는 경우에만 가능합니다. 조인을 통해 측정값을 전달할 수 있도록 설정하려면 관련된 모든 뷰에서 기본 키를 정의해야 합니다.

다음과 같이 primary_key: yes기본 키 필드 정의에 추가하여 각 뷰에서 기본 키를 정의할 수 있습니다.

dimension: id {
 type: number
 primary_key: yes
}

기본 키에는 조인을 통해 전달할 sumaverage 측정 유형에 대한 NULL이 아닌 완전히 고유한 값이 있어야 합니다. 기본 키가 고유하지 않은 경우 다음과 같은 오류가 표시될 수 있습니다.

Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.

또한 뷰에 고유한 단일 필드가 없는 경우 SQL에서 필드를 두 개 이상 연결하여 고유한 키 조합을 만들어 혼합 기본 키를 만들 수 있습니다. Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum 권장사항 페이지의 고유하지 않은 기본 키 섹션에서 이 오류를 해결하는 방법에 대해 자세히 알아보세요.

대칭 집계가 사용 설정되지 않은 경우

일부 언어는 대칭 집계를 지원하지 않거나 Looker 개발자가 symmetric_aggregates: no LookML 설정을 사용하여 대칭 집계를 사용 중지했습니다. 대칭 집계를 사용할 수 없는 경우 Looker는 기본적으로 조인을 통해 count 유형 측정값(count distinct 측정)만 전달합니다. count distinct는 기본 키를 사용하므로 이 접근 방식에는 기본 키도 필요합니다. 이렇게 하면 부정확한 결과와 팬아웃이 방지됩니다. 잘못된 집계 함수에 대한 커뮤니티 게시물을 확인하세요.

최신 Looker 출시 버전에는 대칭 집계를 지원하는 언어를 보여주는 목록이 있습니다.

고려할 추가 솔루션

  • 조인 수준에서 fields(조인용)를 사용합니다. fields를 사용하면 조인된 뷰에서 Explore에 표시되는 필드(측정값, 측정기준)를 지정할 수 있습니다.
  • 올바른 relationship 매개변수를 선택합니다. relationship 매개변수는 조인이 SQL 쿼리에서 사용될 때 대칭 집계를 적용할지 여부를 Looker에 알려줍니다. Looker가 정확한 측정값을 계산할 수 있도록 관계 유형을 올바르게 정의하는 것이 중요합니다.