Imagine que você tem muitos usuários que compartilham um Explore, mas com diferentes casos de uso, dependendo da equipe ou da região. Cada usuário quer ver apenas os campos que se aplicam aos casos de uso únicos. Para atender às diversas necessidades dos usuários, use os refinamentos do LookML para personalizar visualizações e Análises detalhadas sem precisar modificar o LookML original. É possível incluir essas visualizações e Análises detalhadas em arquivos de modelo separados e específicos, personalizados para as necessidades diferentes dos usuários.
Nesta página, mostramos um exemplo de como usar refinamentos do LookML para personalizar uma única visualização base e criar Análises distintas para duas equipes diferentes da sua empresa. Ele também inclui exemplos de como ocultar e adicionar campos em conteúdo refinado.
Componentes
- visualizações do LookML
- Explorações do LookML
- Arquivos de modelo do LookML
- Refinamentos do LookML
- Arquivos do LookML genéricos para refinamentos de habitação
- Parâmetro
include
do LookML - O parâmetro
hidden
do LookML (para campos) - Opcional: acesso ao modelo a modelos específicos para visualizadores, configurados por um administrador do Looker.
Pré-requisitos
- Um projeto do LookML configurado
- Permissões para desenvolver LookML
- Ter experiência com o desenvolvimento de modelos no LookML, inclusive familiaridade com conceitos mais avançados do LookML, como refinamentos e extends.
Exemplo: criar várias Análises personalizadas na mesma visualização de base
Suponha que você tenha uma Análise de Vendas com dados sobre clientes, compras, frete e local. As equipes de marketing e logística da sua empresa precisam analisar esses dados, mas cada uma se concentra em campos diferentes na Análise de vendas.
Para facilitar a navegação, mostre apenas os campos úteis para cada equipe no seletor de campos "Explorar". Para isso, você pode definir dois refinamentos diferentes da Análise de vendas e da visualização sales
em que ela se baseia. A opção "Explorar" da equipe de marketing mostra campos relacionados aos clientes e às tendências de compra, e a opção "Explorar" da equipe de logística mostra campos relacionados a frete e localização. Também é possível adicionar novos campos a cada visualização refinada, que são específicos para as necessidades de cada equipe.
No momento, o seletor da Análise Sales mostra todos os campos da visualização Sales:
O seletor de campo também mostra todos os campos da visualização Usuários associada:
É possível refinar a visualização sales
para criar duas Análises detalhadas separadas que contenham apenas os campos de interesse das equipes de marketing e logística seguindo estas etapas:
Crie um arquivo LookML. Neste exemplo, um arquivo chamado
base_analysis.lkml
. Ele contém o LookML da Análise Sales, que é baseada na visualizaçãosales
e na visualizaçãousers
combinada. Como você quer usar a Análisesales
base e as visualizações correspondentes a fim de criar uma Análise personalizada para cada equipe, defina todos os campos e propriedades compartilhados em um único local, como um único arquivo.# 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 arquivos separados para armazenar os refinamentos da Análise de vendas, que você vai definir para cada equipe. É possível nomear os arquivos como
marketing_analysis.lkml
elogistics_analysis.lkml
. O código LookML, mostrado a seguir, refina a Análise de basesales
, conforme definido no arquivobase_analysis.lkml
, mostrado anteriormente, para adicionar o rótulo Análise de vendas para a equipe de marketing em um novo arquivo chamadomarketing_analysis.lkml
. A instruçãoinclude: "/base/base_analysis.lkml"
disponibiliza o conteúdo do arquivobase_analysis.lkml
para referência no arquivomarketing_analysis.lkml
.# marketing_analysis.lkml include: "/base/base_analysis.lkml" explore: +sales { label: "Sales Analysis for Marketing Team" }
Crie um arquivo de modelo separado para cada equipe, como
ecommerce_marketing.model
eecommerce_logistics.model
. Ao armazenar os diferentes refinamentos em modelos dedicados separados para cada equipe, você pode refinar o mesmo conjunto de visualizações e Análises detalhadas várias vezes sem substituir as personalizações feitas para o caso de uso de uma equipe. 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
elogistics_analysis.lkml
no modeloecommerce_logistics.model
.Adicione mais refinamentos aos arquivos
marketing_analysis.lkml
elogistics_analysis.lkml
, conforme quiser. Por exemplo, você pode ocultar campos desnecessários e adicionar novos às Análises refinadas refinadas de cada equipe.
Um administrador do Looker pode configurar o acesso ao modelo para cada modelo dedicado. Assim, é possível dar acesso a equipes específicas no nível do Explore.
Como ocultar campos desnecessários das Análises refinadas
É possível refinar a visualização sales
da seguinte maneira no arquivo marketing_analysis.lkml
para ocultar os grupos de dimensões Devolvido, Enviado, Entregue e Criado, bem como a dimensão Status, já que esses campos não são usados pela equipe 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, é possível usar o seguinte LookML no arquivo logistics_analysis.lkml
para ocultar campos que a equipe de logística não precisa (como Lucro, Preço de venda e Preço médio de venda):
# 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
}
}
Como a equipe de logística não precisa ver as informações pessoais dos clientes, como nomes, idades ou endereços de e-mail, também é possível adicionar um refinamento à visualização users
combinada no arquivo logistics_analysis.lkml
para ocultar esses campos em "Explore":
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 "Explores" refinadas
Também é possível criar novos campos de interesse para a equipe de marketing na visualização refinada sales
. Por exemplo, você pode adicionar os campos Preço médio de venda, Preço de venda total e Gasto médio por usuário na visualização sales
refinada:
É possível usar o LookML a seguir para adicionar esses campos à visualização sales
refinada no arquivo 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 Análise de mercado que você criou vai conter os novos campos na visualização Vendas, além dos campos na visualização Usuários associada. Os grupos de dimensões Devolvidos, Enviados, Entregues e Criados e a dimensão Status ficam ocultos porque a equipe de marketing não precisa deles.
Da mesma forma, para a equipe de logística, você pode criar novos campos que serão úteis para ela, como Intervalos de tempo de envio e Tempo médio de frete:
É possível usar o LookML a seguir para adicionar esses campos à visualização sales
refinada no arquivo 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 Análise de logística que você criou vai conter os novos campos na visualização Vendas, além dos campos na visualização associada Usuários. Os campos Lucro, Preço de venda e Preço médio de venda da visualização Vendas e os campos Idade, E-mail, Nome, Sobrenome e Criado da Análise Usuários ficam ocultos porque a equipe de logística não precisa deles.
Agora cada equipe tem um Explore que é mais adaptado às necessidades específicas delas. Embora essa abordagem envolva um pouco mais de configuração antecipadamente, mantendo os dados principais em um só lugar, você pode torná-los mais fáceis de encontrar e usar.