이 페이지에서는 탐색의 일부인
fields
매개변수를 설명합니다.
fields
는fields
(조인의 경우) 매개변수 문서 페이지에 설명된 조인의 일부로 사용할 수도 있습니다.
fields
는set
매개변수 문서 페이지에 설명된 세트의 일부로 사용할 수도 있습니다.
용도
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
계층 구조
fields |
기본값
ALL_FIELDS* 결제 가능
쉼표로 구분된 필드 또는 세트 목록이 포함된 대괄호특수 규칙
|
정의
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*
에 포함됩니다.users
의name
을(를) 사용할 수 있으며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} ;;
}
}
이 경우 다음 단계를 수행하세요.
orders
의price
는 개발자가 만든ALL_FIELDS*
세트에 있으므로 예상대로 표시됩니다.users
의 가입 당시에 포함되지 않았기 때문에users
의address
는 표시되지 않습니다 (name
만 있었습니다).fields: [orders.price, users.address]
행의 탐색 분석에 추가되지 않았으므로users
의name
도 표시되지 않습니다.