En esta página, se hace referencia al parámetro
fields
que forma parte de Explorar.
fields
también se puede usar como parte de una unión, que se describe en la página de documentación del parámetrofields
(para combinaciones).
fields
también se puede usar como parte de un conjunto, que se describe en la página de documentación del parámetroset
.
Uso
fields: [
field-or-set-specification,
field-or-set-specification,
...
]
}
Jerarquía
fields |
Valor predeterminado
ALL_FIELDS* Acepta
Corchetes que contienen una lista de campos o conjuntos separados por comasReglas especiales
|
Definición
fields
te permite especificar qué campos de Explorar se exponen en la IU de Explorar. Estos campos pueden estar en la vista base de Explorar o en los campos disponibles de las uniones de Explorar. Si no usas fields
, Looker muestra de forma predeterminada todos los campos.
Se puede usar una lista de campos como la siguiente: [view_name.field_a, view_name.field_b]
.
También puedes hacer referencia a un conjunto de campos (que se define en el parámetro set
de una vista), como [view_name.set_a*]
. El asterisco le indica a Looker que se hace referencia a un nombre de conjunto, en lugar de un nombre de campo.
En ambos casos, ten en cuenta que el campo o conjunto debe tener alcance completo. En otras palabras, debe incluir el nombre de la vista y el nombre del campo.
Looker crea automáticamente un conjunto llamado ALL_FIELDS*
, que contiene todos los campos de la vista base de Explorar y se une. Esto resulta particularmente útil para excluir algunos campos no deseados, como los siguientes:
explore: view_name {
fields: [ALL_FIELDS*, -joined_view_name.unwanted_field]
}
Looker también crea automáticamente conjuntos que contienen todos los campos en una vista determinada, a los que se puede hacer referencia con el formato view_name*
. Por ejemplo, la siguiente pestaña Explorar solo incluye campos en la vista customers
:
explore: all_people {
fields: [customers*]
}
Ejemplos
Solo muestra el campo name
en la vista customer
, en customer
Explorar:
explore: customer {
fields: [customer.name]
}
Solo muestra los campos llamados name
, address
y age
de la vista customer
en customer
Explorar:
explore: customer {
fields: [customer.name, customer.address, customer.age]
}
Solo muestra el conjunto de campos del conjunto export_fields
, en la vista customer
, en la pestaña customer
Explorar:
explore: customer {
fields: [customer.export_fields*]
}
Excluye el campo status
en la vista customer
de order
Explorar:
explore: order {
fields: [ALL_FIELDS*, -customer.status]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Qué debes saber
Puede excluir elementos o conjuntos de elementos individuales mediante fields
con explore
Puedes usar fields
en el parámetro explore
para aprovechar el conjunto ALL_FIELDS*
y, luego, excluir campos. Por ejemplo:
explore: order {
fields: [
ALL_FIELDS*,
-customer.unwanted_field_a,
-customer.unwanted_field_b
]
join: customer {
sql_on: ${order.customer_id} = ${customer.id} ;;
}
}
Pudimos hacer referencia a los campos de la vista unida customer
en el parámetro fields
del nivel Explorar con la sintaxis view_name.field_name
.
Con la sintaxis -
, también puedes excluir conjuntos definidos de campos:
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]
}
}
El parámetro fields
que forma parte de una join
no puede usar el conjunto ALL_FIELDS
En esta página, se hace referencia al parámetro fields
que es un elemento secundario de explore
. Cuando se usa de esta manera, puedes acceder al conjunto ALL_FIELDS*
y, luego, excluir los campos no deseados como se muestra más arriba.
También hay un parámetro fields
que es un elemento secundario de join
. Cuando se usa de esa manera, no puedes usar el conjunto ALL_FIELDS*
.
El conjunto de ALL_FIELDS
está limitado por el parámetro fields
que forma parte de una join
En esta página, se describe fields
cuando está anidada en un parámetro explore
. También hay un parámetro fields
similar anidado en join
. Es importante comprender las implicaciones que tiene aplicar fields
a ambos niveles al mismo tiempo.
Primero, se aplican todos los parámetros de fields
de join
. Esto crea el conjunto de campos que la opción Explorar puede elegir. Considera el siguiente ejemplo:
explore: orders {
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
En este caso, haz lo siguiente:
- Todos los campos de
orders
estarán disponibles y se incluirán enALL_FIELDS*
. name
deusers
estará disponible y también se incluirá enALL_FIELDS*
.- Otros campos en
users
no estarían disponibles o incluidos en el conjunto deALL_FIELDS*
.
Ahora, si agregamos un parámetro fields
en explore
, agregaremos una restricción a ese conjunto. Supongamos que hicimos esto:
explore: orders {
fields: [orders.price, users.address]
join: users {
fields: [name]
sql_on: ${orders.user_id} = ${users.id} ;;
}
}
En este caso, haz lo siguiente:
price
deorders
se mostrará como se esperaba, porque se encuentra en el conjuntoALL_FIELDS*
que creamos.- No se mostrarán los elementos
address
deusers
, ya que no se incluían cuando se uníausers
(solo estabaname
). - Tampoco se mostrará
name
deusers
, ya que no lo agregamos a Explorar en la filafields: [orders.price, users.address]
.