Uma maneira de tornar seus projetos LookML mais eficientes e fáceis de manter é com o parâmetro set
do LookML. O parâmetro set
permite agrupar campos que podem ser repetidos com frequência em todo o projeto no parâmetro fields
ou nos campos de detalhamento. Se você usar um conjunto para agrupar campos repetidos, crie um único local dentro do modelo em que esse grupo de campos possa ser mantido.
Esta página inclui os seguintes exemplos de uso de conjuntos do LookML para tornar os projetos do LookML mais eficientes e fáceis de manter:
- Adicionar os mesmos campos de detalhamento a várias medidas: defina esses campos para detalhes que seus usuários normalmente querem ver ao analisar as agregações.
- Incluir ou omitir um conjunto de campos de uma Análise: personalize a experiência dos usuários e simplifique a lista de campos disponíveis no seletor.
Componentes
- O parâmetro
set
do LookML - O parâmetro
fields
do LookML (para Análises) - O parâmetro
drill_fields
do LookML (para campos) - O parâmetro
drill_fields
do LookML (para visualizações)
Pré-requisitos
Exemplo: como adicionar os mesmos campos de detalhamento a várias medidas
Suponha que você queira que os usuários confiram informações mais detalhadas sempre que encontrarem métricas de vendas em um relatório. Assim, ao selecionar um valor para a medida Contagem na interface "Explorar", uma consulta será aberta nos campos ID, Cidade, Estado e País:
É possível criar um conjunto chamado user_details
que inclua os campos id
, city
, state
e country
e, em seguida, referenciá-los em várias medidas para os usuários analisarem:
set: user_details {
fields: [id, city, state, country]
}
O conjunto user_details
pode ser usado para definir um campo de detalhamento para a medida count
:
measure: count {
type: count
drill_fields: [user_details*]
}
Nesse exemplo, a sintaxe [set_name*]
é usada para especificar que os campos em user_details
vão aparecer nos resultados da consulta quando você detalhar a medida Count.
Em seguida, é possível reutilizar esse conjunto para criar outros campos de detalhamento. Por exemplo, é possível adicionar o código LookML drill_fields: [user_details*]
às medidas order_count
, total_sale_price
e average_sale_price
:
measure: order_count {
view_label: "Orders"
type: count_distinct
description: "Number of orders"
sql: ${order_id} ;;
drill_fields: [user_details*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [user_details*]
}
Assim como na medida Contagem, quando um usuário seleciona um valor de Contagem de pedidos, Preço total de venda ou Preço médio de venda na interface da Análise, o Looker abre uma janela com uma consulta nos campos ID, Cidade, Estado e País.
Se você quiser mudar algo nos campos de detalhamento, como adicionar ou remover um campo, basta atualizar o conjunto user_details
.
Também é possível referenciar um conjunto no parâmetro drill_fields
de uma visualização para definir campos de detalhamento para todas as medidas nessa visualização que ainda não têm campos de detalhamento especificados no nível do campo.
Exemplo: incluir ou omitir um conjunto de campos de um Explore
Suponha que você queira simplificar o seletor de campo "Explorar" para os usuários excluindo campos que não são essenciais para eles.
Por exemplo, suponha que você tenha uma visualização users
com informações sobre seus clientes, incluindo campos para ID, Nome, Sobrenome, E-mail e Idade, bem como campos de local, como Cidade, Estado, País e CEP. A visualização users
é combinada à Análise orders
:
E se você quiser excluir os campos Nome, Sobrenome, E-mail, Idade e Gênero da opção "Explorar" para seus usuários? É possível criar um conjunto chamado user_info
que lista os campos que você quer excluir da Análise Orders:
O LookML do conjunto user_info
ficaria assim:
set: user_info {
fields: [first_name, last_name, email, age, gender]
}
Para definir uma Análise de Pedidos com o rótulo Pedidos sem dados do usuário, mescle a vista users
com a Análise orders
. Adicione o código LookML fields: [ALL_FIELDS*, -users.user_info*]
à Análise orders
para incluir todos os campos, exceto os do conjunto user_info
da visualização users
:
explore: orders {
fields: [ALL_FIELDS*, -users.user_info*]
label: "Orders Without User Data"
join: users {
type: left_outer
sql_on: ${orders.user_id} = ${users.id} ;;
relationship: many_to_one
}
}
Como o conjunto user_details
é excluído da Análise com a sintaxe -users.user_details*
no parâmetro fields
da Análise orders
, a visualização Pedidos na Análise Pedidos sem dados do usuário omite os campos listados no conjunto users_user.info
do seletor de campos da Análise.
Você pode reutilizar o conjunto user_info
para omitir esses campos da interface da ferramenta Análises em outras Análises em que a visualização users
é unida. Se você quiser mudar algo no conjunto user_info
, como adicionar ou remover um campo, basta atualizar o conjunto user_info
.