fields(Explore)

이 페이지에서는 Explore에 포함된 fields 파라미터를 참조합니다.

fieldsfields (조인용) 매개변수 문서 페이지에 설명된 대로 조인의 일부로도 사용할 수 있습니다.

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

사용


explore: explore_name {
  fields: [
    field-or-set-specification,
    field-or-set-specification,
    ...
  ]
}
계층 구조
fields
기본값
ALL_FIELDS*

수락
쉼표로 구분된 필드 또는 집합 목록을 포함하는 대괄호

특별 규칙
  • 모든 필드와 세트의 범위가 완전히 지정되어야 합니다 (view_name.field_name 구문 사용).
  • 필드와 세트는 하이픈 (-)을 앞에 붙여 제외할 수 있습니다.
  • 세트 이름은 항상 별표 (*)로 끝납니다.
  • Explore의 모든 필드가 포함된 내장 세트 이름 ALL_FIELDS*를 사용할 수 있습니다.
  • 참조된 뷰의 모든 필드가 포함된 내장 집합 이름 view_name*를 사용할 수 있습니다.

정의

fields를 사용하면 Explore의 어떤 필드가 Explore UI에 노출되는지 지정할 수 있습니다. 이러한 필드는 Explore의 기본 뷰에 있거나 Explore의 조인에서 사용할 수 있는 필드일 수 있습니다. fields를 사용하지 않으면 Looker는 기본적으로 모든 필드를 노출합니다.

필드 목록은 [view_name.field_a, view_name.field_b]와 같이 사용할 수 있습니다.

뷰의 set 매개변수에 정의된 필드 세트 (예: [view_name.set_a*])를 참조할 수도 있습니다. 별표는 필드 이름이 아닌 집합 이름을 참조하고 있음을 Looker에 알려줍니다.

두 경우 모두 필드 또는 세트의 범위가 완전히 지정되어야 합니다. 즉, 뷰 이름과 필드 이름을 모두 포함해야 합니다.

Looker는 Explore의 기본 뷰와 조인의 모든 필드가 포함된 ALL_FIELDS*라는 세트를 자동으로 만듭니다. 이는 다음과 같이 원치 않는 필드를 몇 개 제외하는 데 특히 유용합니다.

explore: view_name {
  fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}

Looker는 지정된 뷰의 모든 필드를 포함하는 세트도 자동으로 만듭니다. 이 세트는 view_name* 형식으로 참조할 수 있습니다. 예를 들어 다음 Explore에는 customers 뷰의 필드만 포함되어 있습니다.

explore: all_people {
  fields: [customers*]
}

예시

customer 탐색에서 customer 뷰의 name 필드만 표시합니다.

explore: customer {
  fields: [customer.name]
}

customer Explore의 customer 뷰에서 name, address, age 필드만 표시합니다.

explore: customer {
  fields: [customer.name, customer.address, customer.age]
}

customer Explore에 customer 뷰의 export_fields 세트에 있는 필드만 표시합니다.

explore: customer {
  fields: [customer.export_fields*]
}

order Explore에서 customer 뷰의 status 필드를 제외합니다.

explore: order {
  fields: [ALL_FIELDS*, -customer.status]
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

알아 두어야 할 사항

explore와 함께 fields를 사용하여 개별 항목 또는 항목 집합을 제외할 수 있습니다.

ALL_FIELDS* 세트를 활용한 다음 필드를 제외하기 위해 explore 매개변수 아래에서 fields를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

explore: order {
  fields: [
    ALL_FIELDS*,
    -customer.unwanted_field_a,
    -customer.unwanted_field_b
  ]
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

view_name.field_name 구문을 사용하여 Explore 수준의 fields 파라미터에서 조인된 뷰 customer의 필드를 참조할 수 있었습니다.

- 구문을 사용하여 정의된 필드 집합을 제외할 수도 있습니다.

explore: orders {
  fields: [ALL_FIELDS*, -users.statezip*]
  join: users {
    sql_on: ${orders.user_id} = ${users.id} ;;
    relationship: many_to_one
  }
}

view: users {
  set: statezip {
    fields:[state, zip]
  }
}

join의 일부인 fields 매개변수는 ALL_FIELDS 세트를 사용할 수 없습니다.

이 페이지에서는 explore의 하위 요소인 fields 매개변수를 언급합니다. 이러한 방식으로 fields 매개변수를 사용하면 앞에서 설명한 대로 ALL_FIELDS* 세트에 액세스한 다음 원치 않는 필드를 제외할 수 있습니다.

join의 하위 요소인 fields 매개변수도 있습니다. 이런 방식으로 사용하면 ALL_FIELDS* 세트를 사용할 수 없습니다.

ALL_FIELDS 집합은 join의 일부인 fields 매개변수에 의해 제한됩니다.

이 페이지에서는 explore 매개변수 아래에 중첩된 경우의 fields를 설명합니다. join 아래에 중첩된 유사한 fields 매개변수도 있습니다. 두 수준에 동시에 fields를 적용할 때의 영향을 이해하는 것이 중요합니다.

먼저 join 아래의 모든 fields 매개변수가 적용됩니다. 이렇게 하면 Explore에서 선택할 수 있는 필드 세트가 생성됩니다. 다음 예를 참조하세요.

explore: orders {
  join: users {
    fields: [name]
    sql_on: ${orders.user_id} = ${users.id} ;;
  }
}

이 경우 다음 단계를 수행하세요.

  • orders의 모든 필드를 사용할 수 있으며 ALL_FIELDS*에 포함됩니다.
  • usersname을 사용할 수 있으며 ALL_FIELDS*에 포함됩니다.
  • users의 다른 필드는 ALL_FIELDS* 세트에서 사용할 수 없습니다.

이제 explore 아래에 fields 매개변수를 추가하면 해당 집합 위에 제한이 추가됩니다. 다음과 같이 했다고 가정해 보겠습니다.

explore: orders {
  fields: [orders.price, users.address]
  join: users {
    fields: [name]
    sql_on: ${orders.user_id} = ${users.id} ;;
  }
}

이 경우 다음 단계를 수행하세요.

  • ordersprice는 생성한 ALL_FIELDS* 세트에 있으므로 예상대로 표시됩니다.
  • usersaddressusers이(가) 참여할 때 포함되지 않았으므로(name만 포함됨) 표시되지 않습니다.
  • usersname도 표시되지 않습니다. fields: [orders.price, users.address] 행의 탐색에 추가하지 않았기 때문입니다.