Imagine que você tem muitos usuários que compartilham uma Análise, mas têm casos de uso diferentes, dependendo da equipe ou da região. Cada usuário quer ver apenas os campos que se aplicam aos seus casos de uso específicos. Para atender às diversas necessidades dos usuários, use os aprimoramentos do LookML e personalize as visualizações e análises existentes sem precisar modificar o LookML original. Depois, é possível incluir essas visualizações e análises detalhadas em arquivos de modelo separados e dedicados, personalizados para as diferentes necessidades dos usuários.
Esta página tem um exemplo de como usar os refinamentos do LookML para personalizar uma visualização de base única e criar Análises diferentes para duas equipes diferentes na sua empresa. Ele também inclui exemplos de como ocultar e adicionar campos em conteúdo refinado.
Componentes
- Visualizações do LookML
- Análises detalhadas do LookML
- Arquivos de modelo do LookML
- Aprimoramentos do LookML
- Arquivos do LookML genéricos para encontrar refinamentos.
- O parâmetro
include
do LookML - O parâmetro
hidden
do LookML (para campos) - Opcionalmente, acesso a modelos específicos para espectadores, configurado por um administrador do Looker
Pré-requisitos
- Um projeto do LookML configurado
- Permissões para desenvolver o LookML
- Experiência no desenvolvimento de modelos no LookML, incluindo familiaridade com conceitos mais avançados do LookML, como refinamentos e extensões
Exemplo: como criar várias Análises personalizadas usando a mesma visualização de base
Suponha que você tenha uma análise detalhada de Vendas que contém dados sobre clientes, compras, frete e local. As equipes de marketing e logística da sua empresa precisam analisar esses dados, mas cada uma delas foca em campos diferentes da Análise de vendas.
Você quer exibir apenas os campos que são úteis para cada equipe no seletor de campo "Explorar" para facilitar a exploração. Para fazer isso, defina dois refinamentos diferentes da Análise de vendas e da visualização sales
em que ela se baseia. A ferramenta Analisar da equipe de marketing pode mostrar campos relacionados a clientes e tendências de compra, enquanto a Análise da equipe de logística pode mostrar campos relacionados a frete e local. Você também pode adicionar novos campos a cada visualização refinada que sejam específicos para as necessidades de cada equipe.
No momento, o seletor de campo da Análise de Vendas exibe todos os campos da visualização Vendas:
O seletor de campos também mostra todos os campos da visualização Usuários mesclada:
Para refinar a visualização sales
e criar duas análises detalhadas separadas que contêm apenas os campos de interesse das equipes de marketing e logística, siga estas etapas:
Crie um novo arquivo LookML, neste exemplo um arquivo chamado
base_analysis.lkml
, que contém o LookML para a análise Vendas, que é baseada na visualizaçãosales
e na visualizaçãousers
mesclada. Como você quer usar a análise detalhadasales
básica e as visualizações correspondentes para criar uma análise detalhada personalizada para cada equipe, é possível definir todos os campos e propriedades compartilhados em um único local, como em 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 Vendas que você vai definir para cada equipe. Você pode nomear os arquivos como
marketing_analysis.lkml
elogistics_analysis.lkml
. O código do LookML, mostrado a seguir, refina a análisesales
de base, conforme definida 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, é possível 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
e inclualogistics_analysis.lkml
no modeloecommerce_logistics.model
.Adicione outros refinamentos aos arquivos
marketing_analysis.lkml
elogistics_analysis.lkml
como quiser. Por exemplo, é possível ocultar campos desnecessários e adicionar novos campos às Análises detalhadas refinadas de cada equipe.
Você também pode pedir para um administrador do Looker configurar o acesso ao modelo para cada modelo dedicado a fim de conceder a equipes específicas acesso de análise.
Como ocultar campos desnecessários das análises detalhadas
Você pode refinar a visualização sales
conforme mostrado a seguir 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, você pode 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, você também pode adicionar um refinamento para a visualização users
mesclada no arquivo logistics_analysis.lkml
para ocultar esses campos da Análise:
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
}
}
Adição de novos campos às Análises refinadas
Também é possível criar novos campos que sejam de interesse para a equipe de marketing na visualização sales
refinada. Por exemplo, você pode adicionar campos para Preço médio de venda, Preço total de venda 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 marketing que você criou conterá os novos campos na visualização Vendas, além dos campos na visualização combinada Usuários. 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, como Intervalos de tempo de frete 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 Usuários mesclada. Os campos Lucro, Preço promocional e Preço médio de venda na visualização Vendas e os campos Idade, E-mail, Nome, Sobrenome e Criado na Análise Usuários estão ocultos porque a equipe de logística não precisa deles.
Agora, cada equipe tem uma seção "Explorar" mais personalizada para as necessidades específicas. Embora essa abordagem envolva um pouco mais de configuração no início, ao manter os principais dados em um só lugar, você pode facilitar a localização e o uso.