항상 참여

용도

Explore: Explore_name {
always_join: [
view_name,
view_name,

...
]
}
계층 구조
always_join
기본값
없음

결제 가능
쉼표로 구분된 뷰 이름 목록이 포함된 대괄호

특수 규칙
always_join에서 사용하기 전에 explore에 뷰를 조인해야 합니다.

정의

always_join는 사용자가 결합된 뷰에서 필드를 선택하지 않았더라도 Looker에서 생성하는 SQL에 하나 이상의 조인을 강제로 포함합니다. [view_name_a, view_name_b, etc]와 같이 쉼표로 구분된 목록을 사용하여 여러 조인이 필요할 수 있습니다.

Looker는 쿼리에 사용할 SQL을 생성할 때 가장 깔끔한 SQL을 생성하려고 시도하며, 사용자가 선택하는 필드에 필요한 조인만 사용합니다. always_join를 사용하면 강제로 조인이 발생하게 할 수 있습니다.

always_jointype 매개변수를 사용하여 조인을 실행하고 LEFT JOIN가 아닌 경우 유용할 수 있습니다. 이러한 상황에서는 조인을 통해 반환되는 행을 올바르게 제한할 수 있습니다.

Examples

사용자가 member에서 필드를 선택하지 않더라도 member가 항상 event에 조인되는지 확인합니다. 이렇게 하면 결과가 회원 생성 이벤트만 보도록 제한됩니다.

explore: event {
  always_join: [member]
  join: member {
    sql_on: ${event.member_id} = ${member.id} ;;
    type: inner
  }
}

사용자가 두 뷰 중 하나에서 필드를 선택하지 않더라도 memberpayment는 항상 event에 조인되어야 합니다. 그러면 결과가 이미 회원이 지불한 회원 생성 이벤트만 보도록 제한됩니다.

explore: event {
  always_join: [member, payment]
  join: member {
    sql_on: ${event.member_id} = ${member.id} ;;
    type: inner
  }
  join: payment {
    sql_on: ${member.payment_id} = ${payment.id} ;;
    type: inner
  }
}

일반 과제

보기를 탐색에 조인해야 always_join에서 참조할 수 있습니다.

always_join에 뷰를 배치하려면 뷰가 always_join가 사용되는 탐색에 조인되어 있는지 확인합니다. 예를 들어 다음과 같이 작동하지 않습니다.

explore: event {
  always_join: [member]
}

여기서 member 뷰는 event에 조인되지 않았으므로 always_join에서 사용할 수 없습니다.

알아두어야 할 사항

가능하다면 조인에 비즈니스 로직을 적용하지 마세요.

참여에 대한 표준 Looker 접근 방식은 가능한 경우 LEFT JOIN를 사용하는 것입니다. 위의 예에서는 조인 자체 내에 비즈니스 로직을 적용할 수 있도록 LEFT JOIN를 사용하지 않습니다. 예시 중 하나에서 회원과 연결된 이벤트만 포함하는 탐색을 만들었습니다.

explore: event {
  always_join: [member]
  join: member {
    sql_on: ${event.member_id} = ${member.id} ;;
    type: inner
  }
}

Looker에서 이 작업을 실행하는 가장 좋은 방법은 LEFT JOIN를 사용하여 이벤트 데이터와 멤버 데이터를 함께 가져오는 것입니다.

explore: event {
  join: member {
    sql_on: ${event.member_id} = ${member.id} ;;
  }
}

'예' 또는 '아니요'로 설정할 수 있는 측정기준을 만들어 구성원 이벤트만 볼 수 있습니다.

dimension: is_member_event {
  type: yesno
  sql: ${member.id} IS NOT NULL ;;
}

이 방법을 통해 사용자는 유연하게 모든 이벤트를 보거나 회원 이벤트만 볼 수 있습니다. 사용자가 조인을 통해 멤버 이벤트만 보도록 강제하지 않았습니다.