Imagine que tem muitos utilizadores que partilham uma exploração, mas que têm exemplos de utilização diferentes consoante a respetiva equipa ou região. Cada utilizador quer ver apenas os campos que se aplicam aos seus exemplos de utilização únicos. Para satisfazer as diversas necessidades dos seus utilizadores, pode usar refinamentos do LookML para personalizar as vistas e as explorações existentes sem ter de modificar o LookML original. Em seguida, pode incluir estas vistas refinadas e explorações em ficheiros de modelos separados e dedicados, personalizados de acordo com as diferentes necessidades dos seus utilizadores.
Esta página oferece um exemplo de utilização de refinamentos do LookML para personalizar uma única vista base e criar explorações distintas para duas equipas diferentes na sua empresa. Também inclui exemplos de ocultação e adição de campos em conteúdo refinado.
Ingredientes
- Visualizações do LookML
- Explores do LookML
- Ficheiros de modelo do LookML
- Refinamentos do LookML
- Ficheiros genéricos do LookML para alojar refinamentos
- O parâmetro
include
do LookML - O parâmetro
hidden
do LookML (para campos) - Opcionalmente, modele o acesso a modelos específicos para os visitantes, configurado por um administrador do Looker
Pré-requisitos
- Um modelo do LookML configurado
- Autorizações para desenvolver LookML
- Experiência no desenvolvimento de modelos no LookML, incluindo familiaridade com conceitos mais avançados do LookML, como refinements e extends
Exemplo: criar várias explorações personalizadas a partir da mesma vista base
Suponhamos que tem uma exploração Vendas que contém dados sobre clientes, compras, envio e localização. As equipas de marketing e logística da sua empresa precisam de explorar estes dados, mas cada uma foca-se em campos diferentes no Explore Vendas.
Quer apresentar apenas os campos úteis a cada equipa no selecionador de campos da funcionalidade Explorar para facilitar a exploração. Para tal, pode definir dois refinamentos diferentes da análise detalhada Vendas e da vista sales
na qual se baseia. O Explore da equipa de marketing pode mostrar campos relacionados com clientes e tendências de compra, enquanto o Explore da equipa de logística pode mostrar campos relacionados com o envio e a localização. Também pode adicionar novos campos a cada vista refinada que sejam específicos das necessidades de cada equipa.
Atualmente, o selecionador de campos do Explore Vendas apresenta todos os campos da vista Vendas:
O selecionador de campos também apresenta todos os campos da vista Utilizadores associada:
Pode refinar a vista sales
para criar duas explorações separadas que contenham apenas os campos de interesse para as equipas de marketing e logística seguindo estes passos:
Crie um novo ficheiro LookML, neste exemplo, um ficheiro denominado
base_analysis.lkml
, que contenha o LookML para a exploração Vendas, que se baseia na vistasales
e na vistausers
associada. Uma vez que quer usar asales
exploração base e as respetivas vistas para criar uma exploração personalizada para cada equipa, pode definir todos os campos e propriedades partilhados numa única localização, como num único ficheiro.# base_analysis.lkml include: "views/sales.view.lkml" include: "views/inventory_items.view.lkml" include: "views/users.view.lkml" explore: sales { join: inventory_items { type: left_outer sql_on: ${sales.inventory_item_id} = ${inventory_items.id} ;; relationship: many_to_one } join: users { type: left_outer sql_on: ${sales.user_id} = ${users.id} ;; relationship: many_to_one } }
Crie dois ficheiros separados para alojar os refinamentos da análise detalhada Vendas que vai definir para cada equipa. Pode atribuir os nomes
marketing_analysis.lkml
elogistics_analysis.lkml
aos ficheiros. O código LookML, apresentado a seguir, refina a basesales
Explore, conforme definido no ficheirobase_analysis.lkml
, apresentado anteriormente, para adicionar a etiqueta Sales Analysis for Marketing Team num novo ficheiro denominadomarketing_analysis.lkml
. A declaraçãoinclude: "/base/base_analysis.lkml"
disponibiliza o conteúdo do ficheirobase_analysis.lkml
para referência no ficheiromarketing_analysis.lkml
.# marketing_analysis.lkml include: "/base/base_analysis.lkml" explore: +sales { label: "Sales Analysis for Marketing Team" }
Crie um ficheiro de modelo separado para cada equipa, como
ecommerce_marketing.model
eecommerce_logistics.model
. Ao alojar os diferentes refinamentos em modelos dedicados separados para cada equipa, pode refinar o mesmo conjunto de vistas e explorações várias vezes sem substituir as personalizações que fez para o exemplo de utilização de uma equipa. Consulte a página de documentação Refinamentos do LookML para mais informações.Com o parâmetro
include
, incluamarketing_analysis.lkml
no modeloecommerce_marketing.model
e inclualogistics_analysis.lkml
no modeloecommerce_logistics.model
.Adicione refinamentos adicionais aos ficheiros
marketing_analysis.lkml
elogistics_analysis.lkml
, conforme pretendido. Por exemplo, pode ocultar campos desnecessários e adicionar novos campos às análises detalhadas refinadas para cada equipa.
Opcionalmente, pode pedir a um administrador do Looker que configure o acesso ao modelo para cada modelo dedicado, de modo a conceder às equipas específicas acesso ao nível de exploração.
Ocultar campos desnecessários das explorações refinadas
Pode refinar a vista sales
da seguinte forma no ficheiro marketing_analysis.lkml
para ocultar os grupos de dimensões Devolvido, Enviado, Entregue e Criado, bem como a dimensão Estado, uma vez que esses campos não são usados pela equipa de marketing:
# marketing_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Marketing Team"
}
view: +sales
dimension_group: returned {
hidden: yes
}
dimension_group: shipped {
hidden: yes
}
dimension_group: delivered {
hidden: yes
}
dimension_group: created {
hidden: yes
}
dimension: status {
hidden: yes
}
}
Da mesma forma, pode usar o seguinte LookML no ficheiro logistics_analysis.lkml
para ocultar campos de que a equipa de logística não precisa (como Profit, Sale Price e Average Sale Price):
# logistics_analysis.lkml
include: "/base/base_analysis.lkml"
explore: +sales {
label: "Sales Analysis for Logistics Team"
}
view: +sales {
dimension: profit {
hidden: yes
}
dimension: sale_price {
hidden: yes
}
measure: average_sale_price {
hidden: yes
}
}
Uma vez que a equipa de logística não precisa de ver informações pessoais sobre os clientes, como os respetivos nomes, idades ou endereços de email, também pode adicionar um refinamento para a vista users
unida no ficheiro logistics_analysis.lkml
para ocultar estes campos da funcionalidade Explorar:
view: +users {
dimension: age {
hidden: yes
}
dimension: email {
hidden: yes
}
dimension: first_name {
hidden: yes
}
dimension: last_name {
hidden: yes
}
dimension_group: created {
hidden: yes
}
}
Adicionar novos campos às explorações refinadas
Também pode criar novos campos que sejam do interesse da equipa de marketing na vista sales
refinada. Por exemplo, pode adicionar campos para Preço de venda médio, Preço de venda total e Gasto médio por utilizador na vista sales
refinada:
Pode usar o seguinte LookML para adicionar estes campos à vista sales
refinada no ficheiro marketing_analysis.lkml
:
# marketing_analysis.lkml
view: +sales {
measure: average_sale_price {
type: average
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
drill_fields: [detail*]
}
measure: average_spend_per_user {
type: number
value_format_name: usd
sql: 1.0 * ${total_sale_price} / NULLIF(${users.count},0) ;;
drill_fields: [detail*]
}
}
A exploração de marketing que criou vai conter os novos campos na vista Vendas, além dos campos na vista Utilizadores associada. Os grupos de dimensões Devolvido, Enviado, Entregue e Criado, bem como a dimensão Estado, estão ocultos, uma vez que a equipa de marketing não precisa deles.
Da mesma forma, para a equipa de logística, pode criar novos campos que sejam úteis para esta equipa, como Intervalos de tempo de envio e Tempo médio de envio:
Pode usar o seguinte LookML para adicionar estes campos à vista sales
refinada no ficheiro logistics_analysis.lkml
:
# logistics_analysis.lkml
view: +sales {
dimension: shipping_time_buckets {
case: {
when: {
sql: ${shipping_time} <= 7 ;;
label: "One Week"
}
when: {
sql: ${shipping_time} > 7 AND ${shipping_time} <= 14 ;;
label: "Two Weeks"
}
when: {
sql: ${shipping_time} > 14 ;;
label: "Over Two Weeks"
}
else: "Note Shipped"
}
}
measure: average_shipping_time {
type: average
value_format_name: decimal_4
sql: ${shipping_time} ;;
}
}
A exploração de logística que criou vai conter os novos campos na vista Vendas, além dos campos na vista Utilizadores associada. Os campos Lucro, Preço de venda e Preço de venda médio da vista Vendas e os campos Idade, Email, Nome próprio, Apelido e Criado da análise detalhada Utilizadores estão ocultos, uma vez que a equipa de logística não precisa deles.
Cada equipa tem agora uma funcionalidade Explorar mais adaptada às suas necessidades específicas. Embora esta abordagem envolva alguma configuração inicial, ao manter os dados principais num único local, pode facilitar a sua localização e utilização.