이 페이지에서는 join의 일부인
type파라미터를 참조합니다.
type는 측정기준, 필터, 파라미터 유형 문서 페이지에 설명된 대로 측정기준의 일부로도 사용할 수 있습니다.
type는 측정 유형 문서 페이지에 설명된 측정의 일부로도 사용할 수 있습니다.
type는 대시보드 매개변수 문서 페이지에 설명된 대로 대시보드 필터의 일부로도 사용할 수 있습니다.
type은 대시보드 요소의 일부로도 사용할 수 있으며, 이에 대한 설명은type(LookML 대시보드용) 매개변수 문서 페이지를 참고하세요.
사용
explore: view_name {
join: view_name_2 {
type: inner
}
}
|
계층 구조
type |
기본값
left_outer
수락
조인 유형 (cross, full_outer, inner, left_outer)
특별 규칙
left_outer 이외의 type을 사용하는 경우 always_join을 사용하여 결과 행에 조인 제한이 포함되도록 할 수 있습니다.
|
정의
type을 사용하면 실행할 join 유형을 설명할 수 있습니다.
가능한 조인 유형 값은 이 페이지의 다음 섹션에 설명되어 있습니다.
left_outer (기본값)

Looker에서 가장 일반적인 조인 유형은 left_outer입니다 (자주 사용되는 이유는 이 페이지의 left_outer 조인 유형이 일반적으로 선호됨 섹션에 설명되어 있음). SQL에서는 LEFT JOIN로 알려져 있습니다. 이 type를 사용하면 Explore의 모든 행이 포함되고 조인된 뷰의 데이터가 있는 경우 가져옵니다.

full_outer

SQL에서 FULL OUTER JOIN로 알려진 full_outer 조인 유형은 다른 뷰의 해당 데이터가 없더라도 탐색 분석 및 조인된 뷰의 모든 행을 포함합니다.

inner

inner 조인 유형(SQL에서 JOIN 또는 INNER JOIN로 알려져 있음)에는 Explore와 조인된 뷰 모두에 일치하는 레코드가 있는 행만 포함됩니다.

cross

cross 조인 유형(SQL에서 CROSS JOIN로 알려짐)은 거의 사용되지 않습니다. 이 기능은 때때로 0 채우기 또는 매트릭스 생성에 유용합니다. Explore와 조인된 뷰의 모든 조합에 대해 행을 만듭니다.

예시
사용자가 주문하지 않은 경우에도 FULL OUTER JOIN를 사용하여 user 데이터를 order 데이터에 추가합니다.
explore: order {
join: user {
sql_on: ${order.user_id} = ${user.id} ;;
type: full_outer
}
}
INNER JOIN를 사용하여 event 데이터에 user 데이터를 추가하고 결과를 사용자가 생성한 이벤트로만 제한합니다.
explore: event {
join: user {
sql_on: ${event.user_id} = ${user.id} ;;
type: inner
}
}
CROSS JOIN을 사용하여 owner과 property의 가능한 모든 조합을 생성합니다.
explore: property {
join: owner {
sql_on: 1 = 1 ;; # this sql_on condition is required in some dialects,
type: cross # but causes problems in other dialects, try adding or
} # removing if you experience problems with cross joins
}
알아 두어야 할 사항
일반적으로 left_outer 조인 유형이 선호됩니다.
SQL을 학습하고 사용할 때 많은 사람들이 기술적으로 '내부 조인'이라고 하는 JOIN에 주로 집중합니다. 따라서 대부분의 경우 type: inner_join을 사용해야 한다고 가정할 수 있습니다. 하지만 Looker는 일반적으로 SQL에서 LEFT JOIN를 사용하는 것과 같은 type: left_outer를 사용할 때 가장 잘 작동합니다.
Explore에 조인된 뷰와 달리 Explore와 연결된 뷰는 일반적으로 '기본' 데이터이기 때문입니다. 예를 들어 이벤트 정보를 기반으로 탐색을 만들 수 있습니다. 일부 이벤트는 시스템에서 생성되고 다른 이벤트는 사용자가 생성할 수 있습니다. 일반 JOIN를 사용하여 user를 event에 조인하면 사용자가 만든 이벤트만 볼 수 있으며 시스템 이벤트는 표시되지 않습니다. 대신 LEFT JOIN를 사용하면 연결된 사용자가 있는지 여부와 관계없이 모든 이벤트를 볼 수 있습니다.
행을 제한하는 것이 중요한 경우 always_join를 사용하는 것이 좋습니다.
Looker는 쿼리에 대한 SQL을 생성할 때 가능한 가장 깔끔한 SQL을 만들려고 시도하며 사용자가 선택한 필드에 필요한 조인만 사용합니다. type를 사용하여 LEFT JOIN 이외의 항목을 정의할 때 결과 행에 조인 제한이 포함되도록 특정 조인 (또는 조인 집합)이 항상 쿼리에 포함되도록 할 수 있습니다. always_join 매개변수를 사용하여 이를 수행할 수 있습니다.