Esta página define os seguintes termos e conceitos principais, que você provavelmente vai encontrar com frequência durante o desenvolvimento em LookML:
- Projetos do LookML
- Principais estruturas do LookML (como modelos, visualizações e Análises)
- Tabelas derivadas
- Conexões de banco de dados
- Diferenciação entre maiúsculas e minúsculas
Os Looks e os dashboards definidos pelo usuário não são descritos nesta página porque os usuários os criam sem usar o LookML. No entanto, as consultas dependem dos elementos básicos da LookML discutidos nesta página.
Consulte o glossário do Looker para ver uma lista completa de termos e definições usados no Looker. Para uma visão geral abrangente dos parâmetros do LookML que podem ser usados em um projeto do LookML, consulte a página Referência rápida do LookML.
Consulte a página de documentação Termos e conceitos compartilhados entre o Looker e o Looker Studio para mais informações sobre as diferenças, semelhanças e nuances dos termos e conceitos nas duas ferramentas.
projeto do LookML
No Looker, um projeto é uma coleção de arquivos que descrevem os objetos, as conexões de banco de dados e os elementos da interface do usuário que serão usados para realizar consultas SQL. No nível mais básico, esses arquivos descrevem como as tabelas do banco de dados se relacionam entre si e como o Looker deve interpretá-las. Os arquivos também podem incluir parâmetros da LookML que definem ou mudam as opções apresentadas na UI do Looker. Cada projeto LookML reside em um repositório Git próprio para controle de versões.
Depois de conectar o Looker ao banco de dados, você pode especificar a conexão a ser usada no projeto do Looker.
Você pode acessar seus projetos no menu Desenvolver do Looker. Consulte Acessar arquivos de projeto para mais detalhes e outras opções.
Consulte a página de documentação Gerar um modelo para informações sobre como criar um novo projeto e a página Acessar e editar informações do projeto para informações sobre como acessar e fazer mudanças em projetos do LookML.
Partes de um projeto
Como mostrado no diagrama, estes são alguns dos tipos de arquivos mais comuns em um projeto do LookML:
- Um modelo contém informações sobre quais tabelas usar e como elas devem ser unidas. Aqui, você normalmente define o modelo, as análises e as junções.
- Uma visualização contém informações sobre como acessar ou calcular informações de cada tabela (ou em várias tabelas unidas). Aqui, você normalmente define a visualização, as dimensões e métricas dela e os conjuntos de campos.
- Uma Análise geralmente é definida em um arquivo de modelo, mas às vezes você precisa de um arquivo de Análise separado para uma tabela derivada ou para estender ou refinar uma Análise em vários modelos.
- Um arquivo de manifesto pode conter instruções para usar arquivos importados de outro projeto ou para as configurações de localização do seu projeto.
Além dos arquivos de modelo, visualização, análise detalhada e manifesto, um projeto pode ter outros tipos de arquivos relacionados a painéis integrados, documentação, localização e muito mais. Consulte a página de documentação Arquivos de projeto do LookML para mais informações sobre esses tipos de arquivos e os outros tipos que podem estar no seu projeto do LookML.
Esses arquivos juntos formam um projeto. Se você estiver usando o Git para controle de versões, cada projeto será armazenado em backup pelo próprio repositório do Git.
De onde vêm os projetos e arquivos do LookML?
A maneira mais comum de criar arquivos LookML é gerar um projeto LookML do seu banco de dados. Também é possível criar um projeto em branco e criar manualmente os arquivos LookML dele.
Quando você gera um novo projeto do seu banco de dados, o Looker cria um conjunto básico de arquivos que podem ser usados como modelo para criar o projeto:
- Vários arquivos de visualização, um para cada tabela no banco de dados.
- Um arquivo modelo. O arquivo de modelo declara uma Análise detalhada para cada visualização. Cada declaração de Análise inclui a lógica
join
para unir qualquer visualização que o Looker possa determinar como relacionada à Análise.
Aqui, você pode personalizar o projeto removendo as análises detalhadas e as visualizações indesejadas e adicionando dimensões e medidas personalizadas.
Principais estruturas do LookML
Como mostrado no diagrama de partes de um projeto, um projeto geralmente contém um ou mais arquivos de modelo, que incluem parâmetros que definem um modelo e suas análises e junções. Além disso, os projetos geralmente contêm um ou mais arquivos de visualização, cada um com parâmetros que definem essa visualização e seus campos (incluindo dimensões e métricas) e conjuntos de campos. O projeto também pode conter um arquivo de manifesto, que permite configurar definições no nível do projeto. Esta seção descreve essas principais estruturas.
Modelo
Um modelo é um portal personalizado para o banco de dados, projetado para oferecer uma análise de dados intuitiva para usuários comerciais específicos. Vários modelos podem existir para a mesma conexão de banco de dados em um único projeto do LookML. Cada modelo pode expor dados diferentes para usuários diferentes. Por exemplo, os representantes de vendas precisam de dados diferentes dos executivos da empresa. Portanto, você provavelmente desenvolveria dois modelos para oferecer visualizações do banco de dados adequadas a cada usuário.
Um modelo especifica uma conexão com um único banco de dados. Um desenvolvedor também define as Análises de um modelo no arquivo modelo. Por padrão, as análises são organizadas no nome do modelo em que são definidas. Os usuários veem os modelos listados no menu Análise.
Consulte a página de documentação Tipos de arquivos em um projeto do LookML para mais informações sobre arquivos de modelo, incluindo a estrutura e a sintaxe geral deles.
Consulte a página de documentação Parâmetros do modelo para mais detalhes sobre os parâmetros da LookML que podem ser usados em um arquivo de modelo.
Ver
Uma declaração de visualização define uma lista de campos (dimensões ou métricas) e a vinculação deles a uma tabela subjacente ou derivada. No LookML, uma visualização geralmente faz referência a uma tabela de banco de dados subjacente, mas também pode representar uma tabela derivada.
Uma visualização pode ser unida a outras. A relação entre as visualizações geralmente é definida como parte de uma declaração de Análise em um arquivo de modelo.
Por padrão, os nomes das visualizações aparecem no início dos nomes de dimensões e métricas na tabela de dados da análise detalhada. Essa convenção de nomenclatura deixa claro a qual visualização o campo pertence. No exemplo a seguir, os nomes das visualizações Pedidos e Usuários são listados antes dos nomes dos campos na tabela de dados:
Consulte a documentação Tipos de arquivos em um projeto do LookML para mais informações sobre arquivos de visualização, incluindo a estrutura e a sintaxe geral deles.
Consulte a página de documentação Parâmetros de visualização para mais detalhes sobre os parâmetros do LookML que podem ser usados em um arquivo de visualização.
Explorar
Uma Análise é uma visualização que os usuários podem consultar. Pense na análise detalhada como um ponto de partida para uma consulta ou, em termos de SQL, como o FROM
em uma instrução SQL. Nem todas as visualizações são análises detalhadas, porque nem todas descrevem uma entidade de interesse. Por exemplo, uma visualização Estados que corresponde a uma tabela de pesquisa de nomes de estados não justifica uma análise detalhada, porque os usuários comerciais nunca precisam consultá-la diretamente. Por outro lado, os usuários comerciais provavelmente querem uma maneira de consultar uma visualização de Pedidos. Portanto, definir uma análise detalhada para Pedidos faz sentido. Consulte a página de documentação Acessar e interagir com as Análises no Looker para saber como os usuários interagem com as Análises para consultar seus dados.
No Looker, os usuários podem ver as análises detalhadas listadas no menu Análise. As análises detalhadas são listadas abaixo dos nomes dos modelos a que pertencem.
Por convenção, as análises detalhadas são declaradas no arquivo de modelo com o parâmetro explore
. No exemplo a seguir de um arquivo de modelo, a Análise orders
para um banco de dados de e-commerce é definida no arquivo de modelo. As visualizações orders
e customers
referenciadas na declaração explore
são definidas em outro lugar, nos respectivos arquivos de visualização.
connection: order_database
include: "filename_pattern"
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Neste exemplo, o parâmetro connection
é usado para especificar a conexão de banco de dados do modelo, e o parâmetro include
é usado para especificar os arquivos que estarão disponíveis para o modelo referenciar.
A declaração explore
neste exemplo também especifica relações de junção entre visualizações. Para mais detalhes sobre declarações join
, acesse a seção sobre junções nesta página. Acesse a página de documentação Parâmetros de junção para mais detalhes sobre os parâmetros do LookML que podem ser usados com o parâmetro join
.
Campos de dimensão e métrica
As visualizações contêm campos, principalmente dimensões e medidas, que são os elementos básicos das consultas do Looker.
No Looker, uma dimensão é um campo agrupável que pode ser usado para filtrar os resultados da consulta. Pode ser qualquer um dos seguintes:
- Um atributo que tem uma associação direta a uma coluna em uma tabela subjacente
- Um fato ou valor numérico
- Um valor derivado, calculado com base nos valores de outros campos em uma única linha
No Looker, as dimensões sempre aparecem na cláusula GROUP BY
do SQL gerado pelo Looker.
Por exemplo, as dimensões de uma visualização Produtos podem incluir nome, modelo, cor, preço, data de criação e data de fim da vida útil do produto.
Uma métrica é um campo que usa uma função de agregação SQL, como COUNT
, SUM
, AVG
, MIN
ou MAX
. Qualquer campo calculado com base nos valores de outras métricas também é uma métrica. As medidas podem ser usadas para filtrar valores agrupados. Por exemplo, as medidas de uma visualização Vendas podem incluir o total de itens vendidos (uma contagem), o preço total de venda (uma soma) e o preço médio de venda (uma média).
O comportamento e os valores esperados de um campo dependem do tipo declarado, como string
, number
ou time
. Para medidas, os tipos incluem funções de agregação, como sum
e percent_of_previous
. Para mais detalhes, consulte tipos de dimensão e tipos de métrica.
No Looker, os campos são listados na página Explorar no seletor de campos à esquerda. É possível abrir uma visualização no seletor de campos para mostrar a lista de campos disponíveis para consulta.
Por convenção, os campos são declarados como parte da visualização a que pertencem e armazenados em um arquivo de visualização. O exemplo a seguir mostra várias declarações de dimensão e métrica. Observe o uso do operador de substituição ($
) para referenciar campos sem usar um nome de coluna SQL totalmente qualificado.
Confira alguns exemplos de declarações de dimensões e métricas:
view: orders {
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
}
dimension: customer_id {
sql: ${TABLE}.customer_id ;;
}
dimension: amount {
type: number
value_format: "0.00"
sql: ${TABLE}.amount ;;
}
dimension_group: created {
type: time
timeframes: [date, week]
sql: ${TABLE}.created_at ;;
}
measure: count {
type: count # creates sql COUNT(orders.id)
sql: ${id} ;;
}
measure: total_amount {
type: sum # creates sql SUM(orders.amount)
sql: ${amount} ;;
}
}
Também é possível definir um dimension_group
, que cria várias dimensões relacionadas ao tempo de uma só vez, e campos filter
, que têm vários casos de uso avançados, como filtros com modelo.
Consulte a página de documentação Parâmetros de campo para detalhes completos sobre a declaração de campos e as várias configurações que podem ser aplicadas a eles.
Mesclagens
Como parte de uma declaração explore
, cada declaração join
especifica uma visualização que pode ser unida à Análise detalhada. Quando um usuário cria uma consulta que inclui campos de várias visualizações, o Looker gera automaticamente a lógica de junção SQL para trazer todos os campos corretamente.
Confira um exemplo de junção em uma declaração explore
:
# file: ecommercestore.model.lookml
connection: order_database
include: "filename_pattern" # include all the views
explore: orders {
join: customers {
sql_on: ${orders.customer_id} = ${customers.id} ;;
}
}
Para mais detalhes, acesse a página de documentação Como trabalhar com junções em LookML.
Arquivos de manifesto do projeto
Seu projeto pode conter um arquivo de manifesto do projeto, que é usado para configurações no nível do projeto, como especificar outros projetos para importar para o projeto atual, definir constantes da LookML, especificar configurações de localização do modelo e adicionar extensões e visualizações personalizadas ao projeto.
Cada projeto pode ter apenas um arquivo de manifesto. O arquivo precisa ser nomeado manifest.lkml
e estar localizado no nível raiz do seu repositório Git. Ao usar pastas no ambiente de desenvolvimento integrado, verifique se o arquivo manifest.lkml
está no nível raiz da estrutura de diretórios do projeto.
Para importar arquivos LookML de um projeto diferente, use o arquivo de manifesto do projeto para especificar um nome para o projeto atual e o local de projetos externos, que podem ser armazenados localmente ou remotamente. Exemplo:
# This project
project_name: "my_project"
# The project to import
local_dependency: {
project: "my_other_project"
}
remote_dependency: ga_360_block {
url: "https://github.com/llooker/google_ga360"
ref: "4be130a28f3776c2bf67a9acc637e65c11231bcc"
}
Depois de definir os projetos externos no arquivo de manifesto do projeto, use o parâmetro include
no arquivo de modelo para adicionar arquivos desses projetos externos ao seu projeto atual. Exemplo:
include: "//my_other_project/imported_view.view"
include: "//ga_360_block/*.view"
Para mais informações, consulte a página de documentação Importar arquivos de outros projetos.
Para adicionar localização ao seu modelo, use o arquivo de manifesto do projeto para especificar as configurações de localização padrão. Exemplo:
localization_settings: {
default_locale: en
localization_level: permissive
}
Especificar configurações de localização padrão é uma etapa na localização do seu modelo. Para mais informações, consulte a página de documentação Localizar seu modelo LookML.
Conjuntos
No Looker, um conjunto é uma lista que define um grupo de campos usados juntos. Normalmente, os conjuntos são usados para especificar quais campos serão mostrados depois que um usuário detalha os dados. Os conjuntos de detalhamento são especificados campo a campo. Assim, você tem controle total sobre os dados mostrados quando um usuário clica em um valor em uma tabela ou painel. Os conjuntos também podem ser usados como um recurso de segurança para definir grupos de campos visíveis a usuários específicos.
O exemplo a seguir mostra uma declaração de conjunto em uma visualização order_items
, definindo campos que listam detalhes relevantes sobre um item comprado. Observe que os campos de referência de outras visualizações são definidos especificando o escopo.
set: order_items_stats_set {
fields: [
id, # scope defaults to order_items view
orders.created_date, # scope is "orders" view
orders.id,
users.name,
users.history, # show all products this user has purchased
products.item_name,
products.brand,
products.category,
total_sale_price
]
}
Consulte a página de documentação do parâmetro set
para ver detalhes completos sobre o uso de conjuntos.
Detalhar
No Looker, é possível configurar um campo para que os usuários possam detalhar ainda mais os dados. O detalhamento funciona em tabelas de resultados de consultas e em painéis. O detalhamento inicia uma nova consulta restrita pelo valor em que você clica.
O comportamento de detalhamento é diferente para dimensões e métricas:
- Quando você detalha uma dimensão, a nova consulta filtra o valor detalhado. Por exemplo, se você clicar na data específica em uma consulta de pedidos de clientes por data, a nova consulta vai mostrar pedidos apenas nessa data.
- Ao fazer drill-down em uma métrica, a nova consulta mostra o conjunto de dados que contribuiu para ela. Por exemplo, ao detalhar uma contagem, a nova consulta vai mostrar as linhas para calcular essa contagem. Ao detalhar as medidas máxima, mínima e média, o detalhamento ainda mostra todas as linhas que contribuíram para essa medida. Isso significa que o detalhamento de uma medida máxima, por exemplo, mostra todas as linhas usadas para calcular o valor máximo, não apenas uma linha para o valor máximo.
Os campos a serem mostrados na nova consulta de detalhamento podem ser definidos por um conjunto ou pelos parâmetros drill_fields
(para campos) ou drill_fields
(para visualizações).
Tabelas derivadas
Uma tabela derivada é uma consulta em que os resultados são usados como se fossem uma tabela real no banco de dados. As tabelas derivadas são criadas usando o parâmetro derived_table
em uma declaração view
. O Looker acessa as tabelas derivadas como se fossem tabelas físicas com um conjunto próprio de colunas. Uma tabela derivada é exposta como uma visualização própria e define dimensões e métricas da mesma forma que as visualizações convencionais. A visualização de uma tabela derivada pode ser consultada e unida a outras visualizações, assim como qualquer outra.
As tabelas derivadas também podem ser definidas como tabelas derivadas persistentes (PDTs), que são tabelas derivadas gravadas em um esquema temporário no banco de dados e regeneradas automaticamente na programação especificada com uma estratégia de persistência.
Consulte a página de documentação Tabelas derivadas no Looker para mais informações.
Conexão com o banco de dados
Outro elemento importante de um projeto do LookML é a conexão de banco de dados que o Looker usa para executar consultas no banco de dados. Um administrador do Looker usa a página "Conexões" para configurar conexões de banco de dados, e os desenvolvedores do LookML usam o parâmetro connection
em um arquivo de modelo para especificar qual conexão usar no modelo. Se você gerar um projeto LookML do seu banco de dados, o Looker vai preencher automaticamente o parâmetro connection
no arquivo de modelo.
Diferenciação entre maiúsculas e minúsculas
A LookML diferencia maiúsculas de minúsculas. Por isso, verifique se a capitalização corresponde ao se referir a elementos da LookML. O Looker alerta se você se referiu a um elemento que não existe.
Por exemplo, suponha que você tenha uma análise chamada e_flights_pdt
e um desenvolvedor do LookML use letras maiúsculas incorretas (e_FLIGHTS_pdt
) para se referir a essa análise. Neste exemplo, o IDE do Looker mostra um aviso de que a análise detalhada e_FLIGHTS_pdt
não existe. Além disso, a IDE sugere o nome de uma Análise existente, que é e_flights_pdt
:
No entanto, se o projeto contiver e_FLIGHTS_pdt
e e_flights_pdt
, o IDE do Looker não poderá corrigir você. Portanto, é preciso ter certeza de qual versão você queria. Em geral, é uma boa ideia usar letras minúsculas ao nomear objetos da LookML.
Os nomes das pastas da IDE também diferenciam maiúsculas de minúsculas. É preciso usar as mesmas letras maiúsculas e minúsculas dos nomes de pastas ao especificar caminhos de arquivos. Por exemplo, se você tiver uma pasta chamada Views
, use a mesma capitalização no parâmetro include
. Novamente, o IDE do Looker vai indicar um erro se a capitalização não corresponder a uma pasta existente no projeto: