(para "explores")

Esta página se refere ao parâmetro fields que faz parte de um Explorar.

O fields também pode ser usado como parte de uma mesclagem, descrita na página de documentação do parâmetro fields (para mesclagens).

O fields também pode ser usado como parte de um conjunto, descrito na página de documentação do parâmetro set.

Uso

explore: explore_name {
fields: [
field-or-set-specified,
field-or-set-specified,

...
]
}
Hierarquia
fields
Valor padrão
ALL_FIELDS*

Aceita
Colchetes contendo uma lista de campos ou conjuntos separados por vírgulas

Regras especiais
  • Todos os campos e conjuntos precisam ter o escopo completo (usar a sintaxe view_name.field_name).
  • Campos e conjuntos podem ser excluídos com um hífen (-) antes deles
  • Os nomes de conjuntos sempre terminam com um asterisco (*)
  • Você pode usar o nome do conjunto integrado ALL_FIELDS*, que inclui todos os campos em "Explorar".
  • Você pode usar o nome do conjunto integrado view_name*, que inclui todos os campos na visualização referenciada.

Definição

fields permite especificar quais campos de um Explorar são expostos na IU do Explorar. Esses campos podem estar na visualização base ou nos campos disponíveis nas mesclagens. Se você não usar fields, o Looker usará como padrão a exposição de todos os campos.

Uma lista de campos pode ser usada desta forma: [view_name.field_a, view_name.field_b].

Também é possível fazer referência a um conjunto de campos, que é definido no parâmetro set de uma visualização, como [view_name.set_a*]. O asterisco informa ao Looker que você está fazendo referência a um nome de conjunto em vez de um nome de campo.

Nos dois casos, o campo ou o conjunto precisa ter escopo total. Em outras palavras, é preciso incluir o nome da visualização e do campo.

O Looker cria automaticamente um conjunto chamado ALL_FIELDS*, que contém todos os campos na visualização base e nas mesclagens do Explore. Isso é especialmente útil para excluir vários campos indesejados, como estes:

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

O Looker também cria automaticamente conjuntos que contêm todos os campos em uma determinada visualização, que podem ser referenciados com o formato view_name*. Por exemplo, o Explorar a seguir inclui apenas campos na visualização customers:

explore: all_people {
  fields: [customers*]
}

Examples

Mostre apenas o campo chamado name na visualização customer em "Explorar" do customer:

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

Mostre apenas os campos chamados name, address e age na visualização customer em customer Explore:

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

Mostre apenas o conjunto de campos no conjunto export_fields, na visualização customer, em customer Explorar:

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

Exclua o campo status na visualização customer do order "Explorar":

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

Informações úteis

É possível excluir itens individuais ou conjuntos de itens usando fields com explore

Você pode usar o fields no parâmetro explore para aproveitar o conjunto de ALL_FIELDS* e excluir os campos. Exemplo:

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

Conseguimos referenciar campos da visualização mesclada customer no parâmetro fields do nível "Explorar" usando a sintaxe view_name.field_name.

Com a sintaxe -, também é possível 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]
  }
}

O parâmetro fields que faz parte de um join não pode usar o conjunto ALL_FIELDS

Esta página se refere ao parâmetro fields que é filho de explore. Quando usado dessa forma, é possível acessar o conjunto ALL_FIELDS* e excluir campos indesejados, conforme mostrado acima.

Há também um parâmetro fields filho de join. Quando usado dessa maneira, não é possível usar o conjunto ALL_FIELDS*.

O conjunto ALL_FIELDS é limitado pelo parâmetro fields que faz parte de um join.

Esta página descreve o fields quando ele está aninhado em um parâmetro explore. Há também um parâmetro fields semelhante aninhado em join. É importante entender as implicações de aplicar o fields aos dois níveis ao mesmo tempo.

Primeiro, todos os parâmetros fields em join são aplicados. Isso cria o conjunto de campos que podem ser escolhidos pelo Explorar. Veja este exemplo:

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

Nesse caso:

  • Todos os campos de orders estarão disponíveis e serão incluídos em ALL_FIELDS*.
  • O name da users estará disponível e será incluído na ALL_FIELDS*.
  • Outros campos em users não estariam disponíveis nem incluídos no conjunto ALL_FIELDS*.

Agora, se adicionarmos um parâmetro fields em explore, vamos adicionar uma restrição nesse conjunto. Imagine que fizemos isso:

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

Nesse caso:

  • price de orders será exibido conforme o esperado, porque ele está no conjunto ALL_FIELDS* que criamos.
  • Os address de users não serão exibidos porque não estavam incluídos quando users entrou (apenas name estava).
  • O name de users também não será exibido porque não o adicionamos ao recurso Explorar na linha fields: [orders.price, users.address].