필드 (탐색용)

이 페이지에서는 탐색의 일부인 fields 매개변수를 설명합니다.

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

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

용도

Explore: Explore_name {
fields: [
field-or-set-specification,
field-or-set-specification,

...
]
}
계층 구조
fields
기본값
ALL_FIELDS*

결제 가능
쉼표로 구분된 필드 또는 세트 목록이 포함된 대괄호

특수 규칙
  • 모든 필드 및 세트에 전체 범위를 지정해야 합니다 (view_name.field_name 구문 사용).
  • 하이픈(-)을 사용하면 입력란과 집합이 제외될 수 있습니다.
  • 세트 이름은 항상 별표(*)로 끝납니다.
  • 탐색의 모든 필드가 포함된 기본 제공 세트 이름 ALL_FIELDS*을 사용할 수 있습니다.
  • 참조된 뷰의 모든 필드가 포함된 기본 제공 세트 이름 view_name*을 사용할 수 있습니다.

정의

fields를 사용하면 탐색 UI에서 노출할 탐색의 필드를 지정할 수 있습니다. 이러한 필드는 탐색의 기본 뷰 또는 탐색 조인에서 사용할 수 있는 필드에 포함될 수 있습니다. fields를 사용하지 않으면 Looker는 기본적으로 모든 필드를 노출합니다.

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

[view_name.set_a*]과 같이 일련의 필드 (뷰의 set 매개변수에 정의됨)를 참조할 수도 있습니다. 별표는 필드 이름이 아닌 세트 이름을 참조한다는 것을 Looker에 알려줍니다.

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

Looker는 ALL_FIELDS*라는 세트를 자동으로 생성하며 이 세트에는 탐색의 기본 뷰에 있는 모든 필드와 조인이 포함됩니다. 이 방식은 다음과 같이 원치 않는 필드를 제외하는 데 특히 유용합니다.

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

또한 Looker는 지정된 뷰의 모든 필드를 포함하는 세트를 자동으로 생성하며, 이 형식은 view_name* 형식으로 참조할 수 있습니다. 예를 들어 다음 탐색에는 customers 뷰의 필드만 포함되어 있습니다.

explore: all_people {
  fields: [customers*]
}

Examples

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

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

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

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

customer 탐색의 customer 집합에서 export_fields 집합의 입력란 집합만 표시합니다.

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

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

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

알아두어야 할 사항

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

explore 매개변수 아래에서 fields를 사용하여 ALL_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 구문을 사용하여 탐색 수준의 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 매개변수를 설명합니다. 이 방법으로 사용하면 ALL_FIELDS* 세트에 액세스한 다음 위와 같이 원치 않는 필드를 제외할 수 있습니다.

join의 하위 요소인 fields 매개변수도 있습니다. 이러한 방식으로 사용하면 ALL_FIELDS* 집합을 사용할 수 없습니다.

ALL_FIELDS 세트는 join의 일부인 fields 매개변수에 의해 제한됩니다.

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

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

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* 세트에 있으므로 예상대로 표시됩니다.
  • users의 가입 당시에 포함되지 않았기 때문에 usersaddress는 표시되지 않습니다 (name만 있었습니다).
  • fields: [orders.price, users.address] 행의 탐색 분석에 추가되지 않았으므로 usersname도 표시되지 않습니다.