Essas práticas recomendadas refletem as recomendações compartilhadas por uma equipe multidisciplinar de profissionais experientes do Looker. Esses insights vêm de anos de experiência trabalhando com clientes do Looker, desde a implementação até o sucesso a longo prazo. As práticas foram criadas para funcionar na maioria dos usuários e situações. No entanto, como sempre, use seu melhor julgamento ao implementar qualquer uma das sugestões desta página.
Esta página fornece recomendações para escrever LookML sustentável e sustentável. Essas recomendações são descritas em mais detalhes nas seguintes seções:
- Usar operadores de substituição
- Definir conjuntos de campos
- Evitar repetir o código
- Consolidar itens como camadas de mapa e formatos de valor
- Criar diretrizes de desenvolvimento
Usar operadores de substituição
Os operadores de substituição precisam ser usados em todos os arquivos do LookML. Um modelo do LookML precisa ter apenas um ponto de referência para qualquer objeto no modelo de dados físico. Todas as definições subsequentes que precisam fazer referência a esse objeto precisam apontar para o objeto LookML já definido.
Use a sintaxe ${TABLE}.field_name
ao fazer referência à tabela de banco de dados subjacente para todas as dimensões de base que extraem dados diretamente das colunas de banco de dados subjacentes. Se um esquema ou nome de tabela mudar, isso permitirá que o desenvolvedor atualize o esquema ou o nome da tabela em um só lugar (no parâmetro sql_table_name
) e faça com que ele seja propagado pelo restante do código.
Use a sintaxe ${field_name}
ao fazer referência a dimensões ou medidas que já foram definidas no LookML. Se o nome de uma coluna mudar, essa mudança só vai precisar ser atualizada no parâmetro sql
da dimensão ou das métricas de base. Essa mudança será propagada automaticamente para todos os outros campos que fazem referência à coluna. Por exemplo, se o nome de uma coluna no seu banco de dados mudar de usersid
para users_id
, você vai precisar mudar a referência no Looker. O uso de ${field_name}
significa que você só precisa atualizar uma linha.
Quando várias dimensões e medidas fazem referência a um campo do LookML com ${TABLE}.field_name
, muitas mudanças são necessárias. Por exemplo, considere as medidas this_week_count
e this_month_count
no exemplo de código do LookML a seguir:
dimension: usersid { type: number sql: ${TABLE}.usersid ;; # Change here } measure: this_week_count { type: count_distinct sql: ${TABLE}.usersid ;; # Change here filters: [created_date: "7 days"] } measure: this_month_count { type: count_distinct sql: ${TABLE}.usersid ;; # Change here filters: [created_date: "1 month"] }
Como this_week_count
e this_month_count
usam a sintaxe ${TABLE}.usersid
no parâmetro sql
, será necessário atualizar o parâmetro sql
nos três campos.
Com a referência ${field_name}
, apenas uma mudança é necessária:
dimension: usersid { type: number sql: ${TABLE}.usersid ;; # Change here } measure: this_week_count { type: count_distinct sql: ${usersid} ;; #Using ${field_name} to reference the LookML field `usersid` filters: [created_date: "7 days"] } measure: this_month_count { type: count_distinct sql: ${usersid} ;; #Using ${field_name} to reference the LookML field `usersid` filters: [created_date: "1 month"] }
Para ver mais usos dos operadores de substituição, consulte a página de documentação Como incorporar SQL e se referir a objetos do LookML.
Definir conjuntos de campos
Use conjuntos para manter listas de campos reutilizáveis no modelo. Todas as listas de campos repetidos, seja com o parâmetro fields
ou nos campos de detalhamento, precisam ser incorporadas a conjuntos para criar um único local no modelo em que essa lista de campos possa ser atualizada ou as referências de campo alteradas. Saiba mais sobre os conjuntos na página de documentação do parâmetro set
.
Evitar código repetitivo
Pense nos objetos do LookML como blocos de construção e use o parâmetro extends
para combinar objetos de maneiras diferentes sem repetir o código. Você pode encontrar informações detalhadas e exemplos de reutilização de código na página de documentação Reutilizar código com extensões. Confira mais exemplos nas páginas de documentação dos parâmetros extends
(para visualizações) e extends
(para Análises) e na postagem na Comunidade Como usar extensões para definir agrupamentos.
Mantenha a consistência entre as análises detalhadas não repetindo o código em vários lugares. Para mais ideias sobre como fazer isso, consulte a postagem da Comunidade do Looker sobre como evitar inconsistências entre as Análises (em inglês).
Consolidar itens como camadas de mapas e formatos de valor
Defina camadas de mapa personalizadas no centro de um arquivo LookML chamado map_layers.lkml
. Para criar esse arquivo, siga a documentação do Looker sobre arquivos de projeto. Esse arquivo pode ser incluído conforme necessário em todos os modelos. Se preferir, adicione arquivos JSON diretamente ao repositório arrastando e soltando os arquivos de dados no projeto do LookML e referencie-os no modelo.
Por exemplo, suponha que você tenha um arquivo de camadas de mapa, map_layers.base.lkml
, contendo o seguinte código do LookML:
map_layer: example_africa { file: "africa_file_name.json" property_key: "geounit" } map_layer: example_asia { file: "asia_file_name.json" property_key: "geounit" } map_layer: example_europe { file: "europe_file_name.json" property_key: "geounit" }
É possível incluir o arquivo de camadas do mapa map_layers.base.lkml
em qualquer modelo do projeto adicionando o código do LookML include: "map_layers.base.lkml"
ao arquivo de modelo desejado.
Defina qualquer formato de valor personalizado de forma centralizada no modelo. Use o parâmetro named_value_format
para definir formatos personalizados no modelo e faça referência a eles usando o parâmetro value_format_name
em dimensões e medições.
Criar diretrizes de desenvolvimento
Definir diretrizes de desenvolvimento para facilitar o desenvolvimento e o escalonamento de um modelo do LookML. Confira a postagem na Comunidade do Looker com exemplos de diretrizes de desenvolvimento do LookML para conferir um tutorial de uma lista de diretrizes de desenvolvimento. As diretrizes comuns incluem requisitos para:
- Organizar os arquivos LookML de forma clara para que sejam consistentes e fáceis de navegar
- Usar comentários nas visualizações e modelos para adicionar contexto ao LookML escrito
- Criar documentação no Looker usando arquivos Markdown