campos (para análises)

Esta página se refere ao parâmetro fields, que faz parte de uma análise detalhada.

fields também pode ser usado como parte de uma junção, conforme descrito na página de documentação do parâmetro fields (para junções).

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-specification,
    field-or-set-specification,
    ...
  ]
}
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 estar totalmente no escopo (use a sintaxe view_name.field_name).
  • Para excluir campos e conjuntos, preceda-os com um hífen (-).
  • Os nomes de conjuntos sempre terminam com um asterisco (*).
  • Você pode usar o nome do conjunto integrado ALL_FIELDS*, que inclui todos os campos na Análise.
  • 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 uma Análise detalhada são mostrados na interface dela. Esses campos podem estar na visualização básica da Análise ou disponíveis nas junções dela. Se você não usar fields, o Looker vai expor todos os campos por padrão.

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

Também é possível fazer referência a um conjunto de campos (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, e não a um nome de campo.

Em ambos os casos, o campo ou conjunto precisa estar totalmente no escopo. Em outras palavras, você precisa incluir o nome da visualização e o nome do campo.

O Looker cria automaticamente um conjunto chamado ALL_FIELDS*, que contém todos os campos na visualização de base e nas junções da Análise. Isso é particularmente útil para excluir alguns campos indesejados, como este:

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, a análise detalhada a seguir inclui apenas campos na visualização customers:

explore: all_people {
  fields: [customers*]
}

Exemplos

Mostre apenas o campo chamado name da visualização customer na Análise customer:

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

Mostre apenas os campos chamados name, address e age da visualização customer na análise detalhada customer:

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

Mostre apenas o conjunto de campos no conjunto export_fields, da visualização customer, na análise detalhada customer:

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

Exclua o campo chamado status na visualização customer da análise detalhada order:

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

Informações importantes

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

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

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

Foi possível referenciar campos da visualização unida customer no parâmetro fields do nível de análise detalhada usando a sintaxe view_name.field_name.

Usando 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 é um filho de explore. Ao usar o parâmetro fields dessa forma, é possível acessar o conjunto ALL_FIELDS* e excluir campos indesejados, conforme mostrado anteriormente.

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

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

Nesta página, descrevemos 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 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 a Análise pode escolher. Por 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 incluídos em ALL_FIELDS*.
  • name de users vai estar disponível e incluído em ALL_FIELDS*.
  • Outros campos em users não estariam disponíveis ou incluídos no conjunto ALL_FIELDS*.

Agora, se adicionarmos um parâmetro fields em explore, vamos adicionar uma restrição a esse conjunto. Suponha 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 vai aparecer conforme o esperado porque está no conjunto ALL_FIELDS* que criamos.
  • address de users não vai aparecer porque não foi incluído quando users foi associado (apenas name foi).
  • name de users também não vai aparecer porque não adicionamos a opção "Analisar" na linha fields: [orders.price, users.address].