이 페이지에서는 Explore에 포함된
fields파라미터를 참조합니다.
fields은fields(조인용) 매개변수 문서 페이지에 설명된 대로 조인의 일부로도 사용할 수 있습니다.
fields는set매개변수 문서 페이지에 설명된 집합의 일부로도 사용할 수 있습니다.
사용
explore: explore_name {
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
|
계층 구조
fields |
기본값
ALL_FIELDS*
수락
쉼표로 구분된 필드 또는 집합 목록을 포함하는 대괄호
특별 규칙
|
정의
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*에 포함됩니다.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의address은users이(가) 참여할 때 포함되지 않았으므로(name만 포함됨) 표시되지 않습니다.users의name도 표시되지 않습니다.fields: [orders.price, users.address]행의 탐색에 추가하지 않았기 때문입니다.